]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - tests/stress/for-in-capture-string-loop-var.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / stress / for-in-capture-string-loop-var.js
diff --git a/tests/stress/for-in-capture-string-loop-var.js b/tests/stress/for-in-capture-string-loop-var.js
new file mode 100644 (file)
index 0000000..c92bf68
--- /dev/null
@@ -0,0 +1,22 @@
+(function() {
+    // Capture the loop variable and modify it inside the loop.
+    var foo = function() {
+        var captured;
+        var g = function() {
+            captured = "foo";
+        };
+        var sum = 0;
+        var o = {"foo": 1, "bar": 2};
+        for (captured in o) {
+            g();
+            sum += o[captured];
+        }
+        return sum;
+    };
+    noInline(foo);
+    for (var i = 0; i < 10000; ++i) {
+        if (foo() != 2)
+            throw new Error("bad result");
+    }
+    foo(null);
+})();