mirror of https://github.com/tc39/test262.git
Temporal: Add test coverage for canonicalizing era codes in from()
There was a coverage gap for converting calendar fields to a date when the provided era was an alias. See https://github.com/tc39/proposal-temporal/pull/2940#discussion_r1767508659
This commit is contained in:
parent
18ae34d8f2
commit
e46b317b18
|
@ -0,0 +1,39 @@
|
|||
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-temporal.plaindate.from
|
||||
description: Calendar era code is canonicalized
|
||||
includes: [temporalHelpers.js]
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const date1 = Temporal.PlainDate.from({
|
||||
calendar: "gregory",
|
||||
era: "ce",
|
||||
eraYear: 2024,
|
||||
year: 2024,
|
||||
month: 1,
|
||||
day: 1
|
||||
});
|
||||
TemporalHelpers.assertPlainDate(
|
||||
date1,
|
||||
2024, 1, "M01", 1,
|
||||
"'ce' is accepted as alias for 'gregory'",
|
||||
"gregory", 2024
|
||||
);
|
||||
|
||||
const date2 = Temporal.PlainDate.from({
|
||||
calendar: "gregory",
|
||||
era: "bce",
|
||||
eraYear: 44,
|
||||
year: -43,
|
||||
month: 3,
|
||||
day: 15
|
||||
});
|
||||
TemporalHelpers.assertPlainDate(
|
||||
date2,
|
||||
-43, 3, "M03", 15,
|
||||
"'bce' is accepted as alias for 'gregory-inverse'",
|
||||
"gregory-inverse", 44
|
||||
);
|
|
@ -0,0 +1,39 @@
|
|||
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-temporal.plaindatetime.from
|
||||
description: Calendar era code is canonicalized
|
||||
includes: [temporalHelpers.js]
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const date1 = Temporal.PlainDateTime.from({
|
||||
calendar: "gregory",
|
||||
era: "ce",
|
||||
eraYear: 2024,
|
||||
year: 2024,
|
||||
month: 1,
|
||||
day: 1
|
||||
});
|
||||
TemporalHelpers.assertPlainDateTime(
|
||||
date1,
|
||||
2024, 1, "M01", 1, 0, 0, 0, 0, 0, 0,
|
||||
"'ce' is accepted as alias for 'gregory'",
|
||||
"gregory", 2024
|
||||
);
|
||||
|
||||
const date2 = Temporal.PlainDateTime.from({
|
||||
calendar: "gregory",
|
||||
era: "bce",
|
||||
eraYear: 44,
|
||||
year: -43,
|
||||
month: 3,
|
||||
day: 15
|
||||
});
|
||||
TemporalHelpers.assertPlainDateTime(
|
||||
date2,
|
||||
-43, 3, "M03", 15, 0, 0, 0, 0, 0, 0,
|
||||
"'bce' is accepted as alias for 'gregory-inverse'",
|
||||
"gregory-inverse", 44
|
||||
);
|
|
@ -0,0 +1,37 @@
|
|||
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-temporal.plainyearmonth.from
|
||||
description: Calendar era code is canonicalized
|
||||
includes: [temporalHelpers.js]
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const date1 = Temporal.PlainYearMonth.from({
|
||||
calendar: "gregory",
|
||||
era: "ce",
|
||||
eraYear: 2024,
|
||||
year: 2024,
|
||||
month: 1,
|
||||
});
|
||||
TemporalHelpers.assertPlainYearMonth(
|
||||
date1,
|
||||
2024, 1, "M01",
|
||||
"'ce' is accepted as alias for 'gregory'",
|
||||
"gregory", 2024
|
||||
);
|
||||
|
||||
const date2 = Temporal.PlainYearMonth.from({
|
||||
calendar: "gregory",
|
||||
era: "bce",
|
||||
eraYear: 44,
|
||||
year: -43,
|
||||
month: 3,
|
||||
});
|
||||
TemporalHelpers.assertPlainYearMonth(
|
||||
date2,
|
||||
-43, 3, "M03",
|
||||
"'bce' is accepted as alias for 'gregory-inverse'",
|
||||
"gregory-inverse", 44
|
||||
);
|
|
@ -0,0 +1,30 @@
|
|||
// Copyright (C) 2024 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: Calendar era code is canonicalized
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const date1 = Temporal.ZonedDateTime.from({
|
||||
calendar: "gregory",
|
||||
era: "ce",
|
||||
eraYear: 2024,
|
||||
year: 2024,
|
||||
month: 1,
|
||||
day: 1,
|
||||
timeZone: "UTC",
|
||||
});
|
||||
assert.sameValue(date1.era, "gregory", "'ce' is accepted as alias for 'gregory'");
|
||||
|
||||
const date2 = Temporal.ZonedDateTime.from({
|
||||
calendar: "gregory",
|
||||
era: "bce",
|
||||
eraYear: 44,
|
||||
year: -43,
|
||||
month: 3,
|
||||
day: 15,
|
||||
timeZone: "Europe/Rome",
|
||||
});
|
||||
assert.sameValue(date2.era, "gregory-inverse", "'bce' is accepted as alias for 'gregory-inverse'");
|
Loading…
Reference in New Issue