From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../Intl402/Temporal/old/instant-toLocaleString.js | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 js/src/tests/test262/staging/Intl402/Temporal/old/instant-toLocaleString.js (limited to 'js/src/tests/test262/staging/Intl402/Temporal/old/instant-toLocaleString.js') diff --git a/js/src/tests/test262/staging/Intl402/Temporal/old/instant-toLocaleString.js b/js/src/tests/test262/staging/Intl402/Temporal/old/instant-toLocaleString.js new file mode 100644 index 0000000000..5854d0dcdf --- /dev/null +++ b/js/src/tests/test262/staging/Intl402/Temporal/old/instant-toLocaleString.js @@ -0,0 +1,48 @@ +// |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally +// Copyright (C) 2018 Bloomberg LP. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal-intl +description: Instant.toLocaleString() +features: [Temporal] +---*/ + +// Tolerate implementation variance by expecting consistency without being prescriptive. +// TODO: can we change tests to be less reliant on CLDR formats while still testing that +// Temporal and Intl are behaving as expected? +const usDayPeriodSpace = + new Intl.DateTimeFormat("en-US", { timeStyle: "short" }) + .formatToParts(0) + .find((part, i, parts) => part.type === "literal" && parts[i + 1].type === "dayPeriod")?.value || ""; + +function maybeGetWeekdayOnlyFormat() { + const fmt = new Intl.DateTimeFormat("en-US", { weekday: "long", timeZone: "Europe/Vienna" }); + if ( + ["era", "year", "month", "day", "hour", "minute", "second", "timeZoneName"].some( + (prop) => prop in fmt.resolvedOptions() + ) + ) { + // no weekday-only format available + return null; + } + return fmt; +} + +var instant = Temporal.Instant.from("1976-11-18T14:23:30Z"); +assert.sameValue( + `${instant.toLocaleString("en-US", { timeZone: "America/New_York" })}`, + `11/18/1976, 9:23:30${usDayPeriodSpace}AM` +); +assert.sameValue(`${instant.toLocaleString("de-AT", { timeZone: "Europe/Vienna" })}`, "18.11.1976, 15:23:30"); +var fmt = maybeGetWeekdayOnlyFormat(); +if (fmt) assert.sameValue(fmt.format(instant), "Thursday"); + +// outputs timeZoneName if requested +var str = instant.toLocaleString("en-US", { + timeZone: "America/New_York", + timeZoneName: "short" +}); +assert(str.includes("EST")); + +reportCompare(0, 0); -- cgit v1.2.3