test262-automation e9a5a7f918 [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time) (#1620)
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
2018-07-03 15:59:58 -04:00

36 lines
965 B
JavaScript

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);
}