Przeglądaj źródła

LibJS: Implement Temporal.Now[@@toStringTag]

Linus Groh 4 lat temu
rodzic
commit
ff307194f3

+ 4 - 1
Userland/Libraries/LibJS/Runtime/Temporal/Now.cpp

@@ -24,8 +24,11 @@ void Now::initialize(GlobalObject& global_object)
     Object::initialize(global_object);
 
     auto& vm = this->vm();
-    u8 attr = Attribute::Writable | Attribute::Configurable;
 
+    // 2.1.1 Temporal.Now [ @@toStringTag ], https://tc39.es/proposal-temporal/#sec-temporal-now-@@tostringtag
+    define_direct_property(*vm.well_known_symbol_to_string_tag(), js_string(vm.heap(), "Temporal.Now"), Attribute::Configurable);
+
+    u8 attr = Attribute::Writable | Attribute::Configurable;
     define_native_function(vm.names.timeZone, time_zone, 0, attr);
     define_native_function(vm.names.instant, instant, 0, attr);
 }

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

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