X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/tests/stress/array-map-put-by-val-direct.js diff --git a/tests/stress/array-map-put-by-val-direct.js b/tests/stress/array-map-put-by-val-direct.js new file mode 100644 index 0000000..88e5cde --- /dev/null +++ b/tests/stress/array-map-put-by-val-direct.js @@ -0,0 +1,27 @@ +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 mapped = original.map(function (value) { + return value * 2; +}); + +shouldBe(mapped.length, 10); +for (var i = 0; i < 10; ++i) { + shouldBe(mapped[i], i * 2); +}