]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/stress/symbol-registry.js
1 function test(actual
, expected
) {
2 if (actual
!== expected
)
3 throw new Error("bad value: " + actual
);
7 var hello
= Symbol("Hello");
8 var proto
= Symbol("__proto__");
10 for (var sym
of [ hello
, proto
, Symbol
.iterator
]) {
11 var key
= Symbol
.keyFor(sym
);
14 var key
= Symbol
.keyFor(sym
);
37 for (var key
of keys
) {
38 var sym
= Symbol
.for(key
);
39 test(typeof sym
, "symbol");
40 test(sym
.toString(), "Symbol(" + String(key
) + ")");
42 var sym2
= Symbol
.for(key
);
43 test(sym
=== sym2
, true);
45 var key
= Symbol
.keyFor(sym
);
47 var key
= Symbol
.keyFor(sym2
);
57 throw new Error('toString');
65 throw new Error('not thrown');
66 if (String(error
) !== 'Error: toString')
67 throw new Error('bad error: ' + String(error
));
83 for (var item
of elements
) {
91 throw new Error('not thrown');
92 if (String(error
) !== 'TypeError: Type error')
93 throw new Error('bad error: ' + String(error
));
98 for (var i
= 0; i
< 10000; ++i
)
104 for (var i
= 0; i
< 100; ++i
) {
105 var symbol
= Symbol
.for(i
);
106 test(String(symbol
), "Symbol(" + i
+ ")");
107 test(symbol
, Symbol
.for(i
));
115 for (var i
= 0; i
< 100; ++i
) {
116 var symbol
= Symbol
.for(i
);
117 symbols
.push(symbol
);
120 for (var i
= 0; i
< 100; ++i
)
121 test(Symbol
.for(i
), symbols
[i
]);
123 for (var i
= 0; i
< 100; ++i
)
124 test(Symbol
.keyFor(Symbol(i
)), undefined);