LibJS: Implement Iterator.prototype [ @@toStringTag ]

This commit is contained in:
Timothy Flynn 2023-06-24 17:01:57 -04:00 committed by Andreas Kling
parent d9d245faa7
commit 7ff6b472c0
Notes: sideshowbarker 2024-07-17 05:01:20 +09:00
2 changed files with 7 additions and 0 deletions

View file

@ -20,6 +20,10 @@ ThrowCompletionOr<void> IteratorPrototype::initialize(Realm& realm)
{
auto& vm = this->vm();
MUST_OR_THROW_OOM(Base::initialize(realm));
// 3.1.3.13 Iterator.prototype [ @@toStringTag ], https://tc39.es/proposal-iterator-helpers/#sec-iteratorprototype-@@tostringtag
define_direct_property(vm.well_known_symbol_to_string_tag(), MUST_OR_THROW_OOM(PrimitiveString::create(vm, "Iterator"sv)), Attribute::Configurable | Attribute::Writable);
u8 attr = Attribute::Writable | Attribute::Configurable;
define_native_function(realm, vm.well_known_symbol_iterator(), symbol_iterator, 0, attr);

View file

@ -0,0 +1,3 @@
test("basic functionality", () => {
expect(Iterator.prototype[Symbol.toStringTag]).toBe("Iterator");
});