Prechádzať zdrojové kódy

LibJS: Implement Temporal.PlainTime.prototype[@@toStringTag]

Linus Groh 4 rokov pred
rodič
commit
64b44c7f30

+ 5 - 0
Userland/Libraries/LibJS/Runtime/Temporal/PlainTimePrototype.cpp

@@ -18,6 +18,11 @@ PlainTimePrototype::PlainTimePrototype(GlobalObject& global_object)
 void PlainTimePrototype::initialize(GlobalObject& global_object)
 {
     Object::initialize(global_object);
+
+    auto& vm = this->vm();
+
+    // 4.3.2 Temporal.PlainTime.prototype[ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal.plaintime.prototype-@@tostringtag
+    define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(vm.heap(), "Temporal.PlainTime"), Attribute::Configurable);
 }
 
 }

+ 3 - 0
Userland/Libraries/LibJS/Tests/builtins/Temporal/PlainTime/PlainTime.prototype.@@toStringTag.js

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