]> git.saurik.com Git - apple/javascriptcore.git/blame - tests/stress/iterator-names.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / stress / iterator-names.js
CommitLineData
ed1e77d3
A
1function test(object, name) {
2 return {
3 object,
4 name: '[object ' + name + ']'
5 };
6}
7
8function iter(object) {
9 return object[Symbol.iterator]();
10}
11
12var tests = [
13 test(iter([]), "Array Iterator"),
14 test(iter(new Array), "Array Iterator"),
15 test([].keys(), "Array Iterator"),
16 test([].entries(), "Array Iterator"),
17 test(iter(new Map), "Map Iterator"),
18 test((new Map()).keys(), "Map Iterator"),
19 test((new Map()).entries(), "Map Iterator"),
20 test(iter(new Set), "Set Iterator"),
21 test((new Set()).keys(), "Set Iterator"),
22 test((new Set()).entries(), "Set Iterator"),
23 test(iter(new String("")), "String Iterator"),
24 test(iter(""), "String Iterator"),
25];
26
27function check(actual, expected) {
28 if (actual !== expected)
29 throw new Error('bad value: ' + actual);
30}
31
32for (var { object, name } of tests) {
33 check(object.toString(), name);
34 check(Object.prototype.toString.call(object), name);
35}