mirror of
https://github.com/tc39/test262.git
synced 2025-07-29 17:04:31 +02:00
Test PlainDate.from with more objects.
This commit is contained in:
parent
6bf7d8207a
commit
a46aecc12a
@ -4,14 +4,10 @@
|
|||||||
/*---
|
/*---
|
||||||
esid: sec-temporal.plaindate.from
|
esid: sec-temporal.plaindate.from
|
||||||
description: Property bag is correctly converted into PlainDate
|
description: Property bag is correctly converted into PlainDate
|
||||||
includes: [compareArray.js, temporalHelpers.js]
|
includes: [temporalHelpers.js]
|
||||||
features: [Temporal]
|
features: [Temporal]
|
||||||
---*/
|
---*/
|
||||||
|
|
||||||
const dateTimeFields = { year: 2019, month: 10, monthCode: "M10", day: 1, hour: 14, minute: 20, second: 36 };
|
|
||||||
const plainDate = Temporal.PlainDate.from(dateTimeFields);
|
|
||||||
TemporalHelpers.assertPlainDate(plainDate, 2019, 10, "M10", 1);
|
|
||||||
|
|
||||||
const badFields = { year: 2019, month: 1, day: 32 };
|
const badFields = { year: 2019, month: 1, day: 32 };
|
||||||
assert.throws(RangeError, () => Temporal.PlainDate.from(badFields, { overflow: "reject" }),
|
assert.throws(RangeError, () => Temporal.PlainDate.from(badFields, { overflow: "reject" }),
|
||||||
"bad fields with reject");
|
"bad fields with reject");
|
||||||
@ -19,3 +15,27 @@ TemporalHelpers.assertPlainDate(Temporal.PlainDate.from(badFields),
|
|||||||
2019, 1, "M01", 31, "bad fields with missing overflow");
|
2019, 1, "M01", 31, "bad fields with missing overflow");
|
||||||
TemporalHelpers.assertPlainDate(Temporal.PlainDate.from(badFields, { overflow: "constrain" }),
|
TemporalHelpers.assertPlainDate(Temporal.PlainDate.from(badFields, { overflow: "constrain" }),
|
||||||
2019, 1, "M01", 31, "bad fields with constrain");
|
2019, 1, "M01", 31, "bad fields with constrain");
|
||||||
|
|
||||||
|
assert.throws(RangeError,
|
||||||
|
() => Temporal.PlainDate.from({ year: 1976, month: 11, monthCode: "M12", day: 18 }),
|
||||||
|
"month and monthCode must agree");
|
||||||
|
|
||||||
|
assert.throws(TypeError,
|
||||||
|
() => Temporal.PlainDate.from({ year: 2019, day: 15 }),
|
||||||
|
"missing month");
|
||||||
|
|
||||||
|
assert.throws(TypeError,
|
||||||
|
() => Temporal.PlainDate.from({}),
|
||||||
|
"no properties");
|
||||||
|
|
||||||
|
assert.throws(TypeError,
|
||||||
|
() => Temporal.PlainDate.from({ month: 12 }),
|
||||||
|
"missing year, day");
|
||||||
|
|
||||||
|
assert.throws(TypeError,
|
||||||
|
() => Temporal.PlainDate.from({ year: 1976, months: 11, day: 18 }),
|
||||||
|
"misspelled month");
|
||||||
|
|
||||||
|
assert.throws(TypeError,
|
||||||
|
() => Temporal.PlainDate.from({ year: undefined, month: 11, day: 18 }),
|
||||||
|
"year undefined");
|
@ -0,0 +1,33 @@
|
|||||||
|
// 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.plaindate.from
|
||||||
|
description: Property bag is correctly converted into PlainDate
|
||||||
|
includes: [temporalHelpers.js]
|
||||||
|
features: [Temporal]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
const valid = [
|
||||||
|
[
|
||||||
|
{ year: 2019, month: 10, monthCode: "M10", day: 1, hour: 14, minute: 20, second: 36 },
|
||||||
|
2019, 10, "M10", 1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{ year: 1976, month: 11, day: 18 },
|
||||||
|
1976, 11, "M11", 18
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{ year: 1976, monthCode: "M11", day: 18 },
|
||||||
|
1976, 11, "M11", 18
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{ year: 1976, month: 11, day: 18, days: 15 },
|
||||||
|
1976, 11, "M11", 18
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
for (const [dateTimeFields, ...expected] of valid) {
|
||||||
|
const plainDate = Temporal.PlainDate.from(dateTimeFields);
|
||||||
|
TemporalHelpers.assertPlainDate(plainDate, ...expected, `from(${JSON.stringify(dateTimeFields)}`);
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user