Browse Source

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

Linus Groh 4 years ago
parent
commit
23766f28db

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

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

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

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