]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - tests/stress/array-from-put-by-val-direct.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / stress / array-from-put-by-val-direct.js
diff --git a/tests/stress/array-from-put-by-val-direct.js b/tests/stress/array-from-put-by-val-direct.js
new file mode 100644 (file)
index 0000000..fc8792f
--- /dev/null
@@ -0,0 +1,25 @@
+function shouldBe(actual, expected) {
+    if (actual !== expected)
+        throw new Error('bad value: ' + actual);
+}
+
+for (var i = 0; i < 10; ++i) {
+    Object.defineProperty(Array.prototype, i, {
+        get() {
+            throw new Error('get is called.');
+        },
+        set(value) {
+            throw new Error('set is called.');
+        }
+    });
+}
+
+var original = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
+
+// Doesn't throw any errors.
+var generated = Array.from(original);
+
+shouldBe(generated.length, 10);
+for (var i = 0; i < 10; ++i) {
+    shouldBe(generated[i], i);
+}