blob: 691d56226d746d9ac818d0781b1d8c8bbf23c68e [file] [log] [blame]
function test() {
var passed = true;
var s = Symbol.toStringTag;
[
[String, "String Iterator"],
[Array, "Array Iterator"],
[Map, "Map Iterator"],
[Set, "Set Iterator"]
].forEach(function(pair){
var iterProto = Object.getPrototypeOf(new pair[0]()[Symbol.iterator]());
passed = passed
&& iterProto.hasOwnProperty(s)
&& iterProto[s] === pair[1];
});
passed = passed
&& Object.getPrototypeOf(function*(){})[s] === "GeneratorFunction"
&& Object.getPrototypeOf(function*(){}())[s] === "Generator"
&& Map.prototype[s] === "Map"
&& Set.prototype[s] === "Set"
&& ArrayBuffer.prototype[s] === "ArrayBuffer"
&& DataView.prototype[s] === "DataView"
&& Promise.prototype[s] === "Promise"
&& Symbol.prototype[s] === "Symbol"
&& typeof Object.getOwnPropertyDescriptor(
Object.getPrototypeOf(Int8Array).prototype, Symbol.toStringTag).get === "function";
return passed;
}
if (!test())
throw new Error("Test failed");