| 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); |
| } |
| } |