diff options
Diffstat (limited to 'js/src/jit-test/tests/for-of/array-holes-4.js')
-rw-r--r-- | js/src/jit-test/tests/for-of/array-holes-4.js | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/for-of/array-holes-4.js b/js/src/jit-test/tests/for-of/array-holes-4.js new file mode 100644 index 000000000..e4a877026 --- /dev/null +++ b/js/src/jit-test/tests/for-of/array-holes-4.js @@ -0,0 +1,13 @@ +// for-of on an Array consults the prototype chain when it encounters a hole. + +load(libdir + "iteration.js"); + +var m = {1: 'peek'}; +var a = [0, , 2, 3]; +a.__proto__ = m; +var log = []; +Object.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator]; +for (var x of a) + log.push(x); +assertEq(log[1], 'peek'); +assertEq(log.join(), "0,peek,2,3"); |