mirror of
https://github.com/nodejs/node.git
synced 2025-05-21 12:25:12 +00:00

PR-URL: https://github.com/nodejs/node/pull/47251 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
32 lines
849 B
JavaScript
32 lines
849 B
JavaScript
// 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);
|