haikuwebkit/JSTests/stress/set-iterator-result-should-...

34 lines
956 B
JavaScript

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
}
{
let set = new Set();
set.add(42);
let iterator = set[Symbol.iterator]();
{
let result = iterator.next();
shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["done","value"]`);
shouldBe(result.done, false);
shouldBe(result.value, 42);
}
{
let result = iterator.next();
shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["done","value"]`);
shouldBe(result.done, true);
shouldBe(result.value, undefined);
}
}
{
let set = new Set();
let iterator = set[Symbol.iterator]();
{
let result = iterator.next();
shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["done","value"]`);
shouldBe(result.done, true);
shouldBe(result.value, undefined);
}
}