Test PlainYearMonth.prototype.toString.

This commit is contained in:
Ms2ger 2022-02-01 16:18:33 +01:00 committed by Rick Waldron
parent fddbb4fdf7
commit 516f9a9083
4 changed files with 69 additions and 1 deletions

View File

@ -0,0 +1,22 @@
// 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.plainyearmonth.protoype.tostring
description: always value for calendarName option
features: [Temporal]
---*/
const calendar = {
toString() { return "custom"; }
};
const yearmonth1 = new Temporal.PlainYearMonth(2000, 5);
const yearmonth2 = new Temporal.PlainYearMonth(2000, 5, calendar);
[
[yearmonth1, "2000-05[u-ca=iso8601]"],
[yearmonth2, "2000-05-01[u-ca=custom]"],
].forEach(([yearmonth, expected]) => {
const result = yearmonth.toString({ calendarName: "always" });
assert.sameValue(result, expected, "calendarName is always");
});

View File

@ -0,0 +1,22 @@
// 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.plainyearmonth.protoype.tostring
description: auto value for calendarName option
features: [Temporal]
---*/
const calendar = {
toString() { return "custom"; }
};
const yearmonth1 = new Temporal.PlainYearMonth(2000, 5);
const yearmonth2 = new Temporal.PlainYearMonth(2000, 5, calendar);
[
[yearmonth1, "2000-05"],
[yearmonth2, "2000-05-01[u-ca=custom]"],
].forEach(([yearmonth, expected]) => {
const result = yearmonth.toString({ calendarName: "auto" });
assert.sameValue(result, expected, "calendarName is auto");
});

View File

@ -15,4 +15,6 @@ features: [Temporal]
---*/
const yearmonth = new Temporal.PlainYearMonth(2000, 5);
assert.throws(RangeError, () => yearmonth.toString({ calendarName: "other string" }));
for (const calendarName of ["ALWAYS", "sometimes", "other string"]) {
assert.throws(RangeError, () => yearmonth.toString({ calendarName }));
}

View File

@ -0,0 +1,22 @@
// 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.plainyearmonth.protoype.tostring
description: never value for calendarName option
features: [Temporal]
---*/
const calendar = {
toString() { return "custom"; }
};
const yearmonth1 = new Temporal.PlainYearMonth(2000, 5);
const yearmonth2 = new Temporal.PlainYearMonth(2000, 5, calendar);
[
[yearmonth1, "2000-05"],
[yearmonth2, "2000-05-01"],
].forEach(([yearmonth, expected]) => {
const result = yearmonth.toString({ calendarName: "never" });
assert.sameValue(result, expected, "calendarName is never");
});