mirror of
https://github.com/tc39/test262.git
synced 2025-08-22 10:28:30 +02:00
Adds tests for conversion of a Number whose corresponding toString() value is a valid ISO string. For some Temporal types this is possible, with a number like 20220418. Especially for Temporal.Calendar, we have to take into account the case where the number is provided as the value for the 'calendar' property in a property bag, and the case of up to one level of nested property bag as well. Regularizes and expands existing tests for this case.
35 lines
1.2 KiB
JavaScript
35 lines
1.2 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.plainyearmonth.compare
|
|
description: A number is converted to a string, then to Temporal.PlainYearMonth
|
|
features: [Temporal]
|
|
---*/
|
|
|
|
const arg = 201906;
|
|
|
|
const result1 = Temporal.PlainYearMonth.compare(arg, new Temporal.PlainYearMonth(2019, 6));
|
|
assert.sameValue(result1, 0, "201906 is a valid ISO string for PlainYearMonth (first argument)");
|
|
const result2 = Temporal.PlainYearMonth.compare(new Temporal.PlainYearMonth(2019, 6), arg);
|
|
assert.sameValue(result2, 0, "201906 is a valid ISO string for PlainYearMonth (second argument)");
|
|
|
|
const numbers = [
|
|
1,
|
|
-201906,
|
|
1234567,
|
|
];
|
|
|
|
for (const arg of numbers) {
|
|
assert.throws(
|
|
RangeError,
|
|
() => Temporal.PlainYearMonth.compare(arg, new Temporal.PlainYearMonth(2019, 6)),
|
|
`Number ${arg} does not convert to a valid ISO string for PlainYearMonth (first argument)`
|
|
);
|
|
assert.throws(
|
|
RangeError,
|
|
() => Temporal.PlainYearMonth.compare(new Temporal.PlainYearMonth(2019, 6), arg),
|
|
`Number ${arg} does not convert to a valid ISO string for PlainYearMonth (first argument)`
|
|
);
|
|
}
|