34 lines
956 B
JavaScript
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);
|
|
}
|
|
}
|