]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - tests/stress/for-in-modify-string-loop-var.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / stress / for-in-modify-string-loop-var.js
diff --git a/tests/stress/for-in-modify-string-loop-var.js b/tests/stress/for-in-modify-string-loop-var.js
new file mode 100644 (file)
index 0000000..071a086
--- /dev/null
@@ -0,0 +1,19 @@
+(function() {
+    // Change string value of the loop variable in the loop.
+    var foo = function() {
+        var sum = 0;
+        var a = [1, 2, 3];
+        a.foo = 42;
+        for (var i in a) {
+            i = "foo";
+            sum += a[i];
+        }
+        return sum;
+    };
+    noInline(foo);
+    for (var i = 0; i < 10000; ++i) {
+        if (foo() != 42 * 4)
+            throw new Error("bad result");
+    }
+    foo(null);
+})();