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 primitives = [
1,
true,
undefined,
null,
"foo",
Symbol.iterator
];
for (let primitive of primitives) {
let obj = {
[Symbol.iterator]() {
return primitive;
}
};
assertThrowsInstanceOf(() => {
function* g() {
yield* obj;
}
for (let x of g()) {
}
}, TypeError);
}
if (typeof reportCompare === "function")
reportCompare(0, 0);