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