X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/tests/stress/iterator-names.js diff --git a/tests/stress/iterator-names.js b/tests/stress/iterator-names.js new file mode 100644 index 0000000..5fe8ab4 --- /dev/null +++ b/tests/stress/iterator-names.js @@ -0,0 +1,35 @@ +function test(object, name) { + return { + object, + name: '[object ' + name + ']' + }; +} + +function iter(object) { + return object[Symbol.iterator](); +} + +var tests = [ + test(iter([]), "Array Iterator"), + test(iter(new Array), "Array Iterator"), + test([].keys(), "Array Iterator"), + test([].entries(), "Array Iterator"), + test(iter(new Map), "Map Iterator"), + test((new Map()).keys(), "Map Iterator"), + test((new Map()).entries(), "Map Iterator"), + test(iter(new Set), "Set Iterator"), + test((new Set()).keys(), "Set Iterator"), + test((new Set()).entries(), "Set Iterator"), + test(iter(new String("")), "String Iterator"), + test(iter(""), "String Iterator"), +]; + +function check(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +for (var { object, name } of tests) { + check(object.toString(), name); + check(Object.prototype.toString.call(object), name); +}