X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/tests/stress/iterator-functions.js?ds=inline diff --git a/tests/stress/iterator-functions.js b/tests/stress/iterator-functions.js new file mode 100644 index 0000000..12edb6e --- /dev/null +++ b/tests/stress/iterator-functions.js @@ -0,0 +1,33 @@ +function test(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +test(Array.prototype[Symbol.iterator], Array.prototype.values); +test(Map.prototype[Symbol.iterator], Map.prototype.entries); +test(Set.prototype[Symbol.iterator], Set.prototype.values); + +function argumentsTests(values) { + test(function () { + return arguments[Symbol.iterator]; + }(), values); + + test(function (a, b, c) { + return arguments[Symbol.iterator]; + }(), values); + + test(function () { + 'use strict'; + return arguments[Symbol.iterator]; + }(), values); + + test(function (a, b, c) { + 'use strict'; + return arguments[Symbol.iterator]; + }(), values); +} + +argumentsTests(Array.prototype.values); +var arrayValues = Array.prototype.values; +Array.prototype.values = null; +argumentsTests(arrayValues);