X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/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 index 0000000..fc8792f --- /dev/null +++ b/tests/stress/array-from-put-by-val-direct.js @@ -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); +}