blob: 61333f8619687ca1bc4fae6a3a6f389fb9a78bb3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// Copyright 2023 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Flags: --harmony-iterator-helpers
assertEquals('function', typeof Iterator);
assertEquals(0, Iterator.length);
assertEquals('Iterator', Iterator.name);
// Abstract base class, can't be instantiated.
assertThrows(() => new Iterator(), TypeError);
// Can be used as superclass though.
class MyIterator extends Iterator {
next() {
return {value: 42, done: false};
}
}
const myIter = new MyIterator();
assertTrue(myIter instanceof MyIterator);
function* gen() {
yield 42;
}
const genIter = gen();
assertTrue(genIter instanceof Iterator);
assertSame(
Object.getPrototypeOf(
Object.getPrototypeOf(Object.getPrototypeOf(genIter))),
Iterator.prototype);
|