Source code
Revision control
Copy as Markdown
Other Tools
var BUGNUMBER = 1021835;
var summary = "Returning non-object from @@iterator should throw";
print(BUGNUMBER + ": " + summary);
let ctors = [
Map,
Set,
WeakMap,
WeakSet
];
let primitives = [
1,
true,
undefined,
null,
"foo",
Symbol.iterator
];
for (let ctor of ctors) {
for (let primitive of primitives) {
let arg = {
[Symbol.iterator]() {
return primitive;
}
};
assertThrowsInstanceOf(() => new ctor(arg), TypeError);
}
}
if (typeof reportCompare === "function")
reportCompare(0, 0);