test262/test/built-ins/Temporal/ZonedDateTime/from/argument-string-time-zone-annotation.js
Philip Chimento f2871840b8 Replace Temporal.ZonedDateTime.timeZone getter with new API
This is the replacement of the old API with the new API, .timeZoneId and
.getTimeZone(). Semantics will be corrected in the following commit.

Normative PR: https://github.com/tc39/proposal-temporal/pull/2482
2023-04-07 11:43:31 -07:00

34 lines
1.3 KiB
JavaScript

// Copyright (C) 2022 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-temporal.zoneddatetime.from
description: Various forms of time zone annotation; critical flag has no effect
features: [Temporal]
---*/
const tests = [
["1970-01-01T00:00[UTC]", "UTC", "named, with no offset"],
["1970-01-01T00:00[!UTC]", "UTC", "named, with ! and no offset"],
["1970-01-01T00:00[+00:00]", "+00:00", "numeric, with no offset"],
["1970-01-01T00:00[!+00:00]", "+00:00", "numeric, with ! and no offset"],
["1970-01-01T00:00Z[UTC]", "UTC", "named, with Z"],
["1970-01-01T00:00Z[!UTC]", "UTC", "named, with Z and !"],
["1970-01-01T00:00Z[+00:00]", "+00:00", "numeric, with Z"],
["1970-01-01T00:00Z[!+00:00]", "+00:00", "numeric, with Z and !"],
["1970-01-01T00:00+00:00[UTC]", "UTC", "named, with offset"],
["1970-01-01T00:00+00:00[!UTC]", "UTC", "named, with offset and !"],
["1970-01-01T00:00+00:00[+00:00]", "+00:00", "numeric, with offset"],
["1970-01-01T00:00+00:00[!+00:00]", "+00:00", "numeric, with offset and !"],
];
tests.forEach(([arg, expectedZone, description]) => {
const result = Temporal.ZonedDateTime.from(arg);
assert.sameValue(
result.timeZoneId,
expectedZone,
`time zone annotation (${description})`
);
});