mirror of
https://github.com/tc39/test262.git
synced 2025-04-08 19:35:28 +02:00
Temporal: Add tests for multiple time zone annotations
See https://github.com/tc39/proposal-temporal/pull/2397 Adds tests for ISO strings with more than one time zone annotation. These are not syntactically correct according to the grammar and should be rejected.
This commit is contained in:
parent
705cf94429
commit
6bfb4441d3
25
test/built-ins/Temporal/Calendar/prototype/dateAdd/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/dateAdd/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.dateadd
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.dateAdd(arg, new Temporal.Duration()),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
30
test/built-ins/Temporal/Calendar/prototype/dateUntil/argument-string-multiple-time-zone.js
vendored
Normal file
30
test/built-ins/Temporal/Calendar/prototype/dateUntil/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
// 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.calendar.prototype.dateuntil
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.dateUntil(arg, new Temporal.PlainDate(1977, 11, 19)),
|
||||
`reject more than one time zone annotation: ${arg} (first argument)`
|
||||
);
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.dateUntil(new Temporal.PlainDate(1977, 11, 19), arg),
|
||||
`reject more than one time zone annotation: ${arg} (second argument)`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/day/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/day/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.day
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.day(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/dayOfWeek/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.dayofweek
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.dayOfWeek(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/dayOfYear/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.dayofyear
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.dayOfYear(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/daysInMonth/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.daysinmonth
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.daysInMonth(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/daysInWeek/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.daysinweek
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.daysInWeek(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/daysInYear/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/daysInYear/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.daysinyear
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.daysInYear(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/inLeapYear/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.inleapyear
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.inLeapYear(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/month/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/month/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.month
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.month(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/monthCode/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/monthCode/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.monthcode
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.monthCode(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/monthsInYear/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.monthsinyear
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.monthsInYear(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/weekOfYear/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.weekofyear
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.weekOfYear(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/Calendar/prototype/year/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/Calendar/prototype/year/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.year
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.year(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,31 @@
|
||||
// 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.instant.compare
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00Z[UTC][UTC]",
|
||||
"1970-01-01T00:00Z[!UTC][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][!UTC]",
|
||||
"1970-01-01T00:00Z[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
const epoch = new Temporal.Instant(0n);
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.Instant.compare(arg, epoch),
|
||||
`reject more than one time zone annotation: ${arg} (first argument)`
|
||||
);
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.Instant.compare(epoch, arg),
|
||||
`reject more than one time zone annotation: ${arg} (second argument)`
|
||||
);
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
// 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.instant.from
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00Z[UTC][UTC]",
|
||||
"1970-01-01T00:00Z[!UTC][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][!UTC]",
|
||||
"1970-01-01T00:00Z[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.Instant.from(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
24
test/built-ins/Temporal/Instant/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
24
test/built-ins/Temporal/Instant/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// 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.instant.prototype.equals
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00Z[UTC][UTC]",
|
||||
"1970-01-01T00:00Z[!UTC][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][!UTC]",
|
||||
"1970-01-01T00:00Z[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Instant(0n);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.equals(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
24
test/built-ins/Temporal/Instant/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
24
test/built-ins/Temporal/Instant/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// 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.instant.prototype.since
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00Z[UTC][UTC]",
|
||||
"1970-01-01T00:00Z[!UTC][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][!UTC]",
|
||||
"1970-01-01T00:00Z[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Instant(0n);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.since(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
24
test/built-ins/Temporal/Instant/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
24
test/built-ins/Temporal/Instant/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// 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.instant.prototype.until
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00Z[UTC][UTC]",
|
||||
"1970-01-01T00:00Z[!UTC][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][!UTC]",
|
||||
"1970-01-01T00:00Z[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Instant(0n);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.until(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,30 @@
|
||||
// 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.compare
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainDate.compare(arg, new Temporal.PlainDate(1976, 11, 18)),
|
||||
`reject more than one time zone annotation: ${arg} (first argument)`
|
||||
);
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainDate.compare(new Temporal.PlainDate(1976, 11, 18), arg),
|
||||
`reject more than one time zone annotation: ${arg} (second argument)`
|
||||
);
|
||||
});
|
@ -0,0 +1,25 @@
|
||||
// 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: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainDate.from(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/PlainDate/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/PlainDate/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.prototype.equals
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainDate(2000, 5, 2);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.equals(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/PlainDate/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/PlainDate/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.prototype.since
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainDate(2000, 5, 2);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.since(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,26 @@
|
||||
// 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.prototype.toplaindatetime
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"00:00[UTC][UTC]",
|
||||
"T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainDate(2000, 5, 2);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.toPlainDateTime(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,26 @@
|
||||
// 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.prototype.tozoneddatetime
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"00:00[UTC][UTC]",
|
||||
"T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainDate(2000, 5, 2);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.toZonedDateTime({ plainTime: arg, timeZone: "UTC" }),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/PlainDate/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/PlainDate/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.prototype.until
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainDate(2000, 5, 2);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.until(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,29 @@
|
||||
// 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.plaindatetime.compare
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainDateTime.compare(arg, new Temporal.PlainDateTime(1976, 11, 18)),
|
||||
`reject more than one time zone annotation: ${arg} (first argument)`
|
||||
);
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainDateTime.compare(new Temporal.PlainDateTime(1976, 11, 18), arg),
|
||||
`reject more than one time zone annotation: ${arg} (second argument)`
|
||||
);
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
// 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.plaindatetime.from
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainDateTime.from(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
24
test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
24
test/built-ins/Temporal/PlainDateTime/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// 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.plaindatetime.prototype.equals
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 987, 654, 321);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.equals(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
24
test/built-ins/Temporal/PlainDateTime/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
24
test/built-ins/Temporal/PlainDateTime/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// 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.plaindatetime.prototype.since
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 987, 654, 321);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.since(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
24
test/built-ins/Temporal/PlainDateTime/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
24
test/built-ins/Temporal/PlainDateTime/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// 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.plaindatetime.prototype.until
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 987, 654, 321);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.until(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,25 @@
|
||||
// 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.plaindatetime.prototype.withplaindate
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 987, 654, 321);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.withPlainDate(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,26 @@
|
||||
// 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.plaindatetime.prototype.withplaintime
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"00:00[UTC][UTC]",
|
||||
"T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 987, 654, 321);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.withPlainTime(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
// 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.plainmonthday.from
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainMonthDay.from(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
24
test/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
24
test/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// 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.plainmonthday.prototype.equals
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainMonthDay(5, 2);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.equals(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,31 @@
|
||||
// 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.plaintime.compare
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"00:00[UTC][UTC]",
|
||||
"T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainTime.compare(arg, new Temporal.PlainTime(12, 34, 56, 987, 654, 321)),
|
||||
`reject more than one time zone annotation: ${arg} (first argument)`
|
||||
);
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainTime.compare(new Temporal.PlainTime(12, 34, 56, 987, 654, 321), arg),
|
||||
`reject more than one time zone annotation: ${arg} (second argument)`
|
||||
);
|
||||
});
|
@ -0,0 +1,26 @@
|
||||
// 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.plaintime.from
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"00:00[UTC][UTC]",
|
||||
"T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainTime.from(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
26
test/built-ins/Temporal/PlainTime/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
26
test/built-ins/Temporal/PlainTime/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
// 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.plaintime.prototype.equals
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"00:00[UTC][UTC]",
|
||||
"T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainTime(12, 34, 56, 987, 654, 321);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.equals(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
26
test/built-ins/Temporal/PlainTime/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
26
test/built-ins/Temporal/PlainTime/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
// 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.plaintime.prototype.since
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"00:00[UTC][UTC]",
|
||||
"T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainTime(12, 34, 56, 987, 654, 321);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.since(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,25 @@
|
||||
// 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.plaintime.prototype.toplaindatetime
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainTime(12, 34, 56, 987, 654, 321);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.toPlainDateTime(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,25 @@
|
||||
// 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.plaintime.prototype.tozoneddatetime
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainTime(12, 34, 56, 987, 654, 321);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.toZonedDateTime({ plainDate: arg, timeZone: "UTC" }),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
26
test/built-ins/Temporal/PlainTime/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
26
test/built-ins/Temporal/PlainTime/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
// 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.plaintime.prototype.until
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"00:00[UTC][UTC]",
|
||||
"T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainTime(12, 34, 56, 987, 654, 321);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.until(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,29 @@
|
||||
// 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: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainYearMonth.compare(arg, new Temporal.PlainYearMonth(2019, 6)),
|
||||
`reject more than one time zone annotation: ${arg} (first argument)`
|
||||
);
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainYearMonth.compare(new Temporal.PlainYearMonth(2019, 6), arg),
|
||||
`reject more than one time zone annotation: ${arg} (second argument)`
|
||||
);
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
// 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.from
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.PlainYearMonth.from(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
24
test/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
24
test/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// 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.prototype.equals
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainYearMonth(2000, 5);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.equals(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
24
test/built-ins/Temporal/PlainYearMonth/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
24
test/built-ins/Temporal/PlainYearMonth/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// 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.prototype.since
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainYearMonth(2000, 5);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.since(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
24
test/built-ins/Temporal/PlainYearMonth/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
24
test/built-ins/Temporal/PlainYearMonth/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// 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.prototype.until
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.PlainYearMonth(2000, 5);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.until(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
24
test/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-string-multiple-time-zone.js
vendored
Normal file
24
test/built-ins/Temporal/TimeZone/prototype/getInstantFor/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
// 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.timezone.prototype.getinstantfor
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.TimeZone("UTC");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.getInstantFor(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
// 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.timezone.prototype.getnexttransition
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00Z[UTC][UTC]",
|
||||
"1970-01-01T00:00Z[!UTC][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][!UTC]",
|
||||
"1970-01-01T00:00Z[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.TimeZone("UTC");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.getNextTransition(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
// 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.timezone.prototype.getoffsetnanosecondsfor
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00Z[UTC][UTC]",
|
||||
"1970-01-01T00:00Z[!UTC][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][!UTC]",
|
||||
"1970-01-01T00:00Z[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.TimeZone("UTC");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.getOffsetNanosecondsFor(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
// 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.timezone.prototype.getoffsetstringfor
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00Z[UTC][UTC]",
|
||||
"1970-01-01T00:00Z[!UTC][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][!UTC]",
|
||||
"1970-01-01T00:00Z[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.TimeZone("UTC");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.getOffsetStringFor(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
// 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.timezone.prototype.getplaindatetimefor
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00Z[UTC][UTC]",
|
||||
"1970-01-01T00:00Z[!UTC][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][!UTC]",
|
||||
"1970-01-01T00:00Z[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.TimeZone("UTC");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.getPlainDateTimeFor(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
// 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.timezone.prototype.getpossibleinstantsfor
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.TimeZone("UTC");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.getPossibleInstantsFor(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
// 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.timezone.prototype.getprevioustransition
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00Z[UTC][UTC]",
|
||||
"1970-01-01T00:00Z[!UTC][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][!UTC]",
|
||||
"1970-01-01T00:00Z[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00Z[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.TimeZone("UTC");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.getPreviousTransition(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,31 @@
|
||||
// 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.compare
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
const datetime = new Temporal.ZonedDateTime(1_000_000_000_000_000_000n, "UTC");
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.ZonedDateTime.compare(arg, datetime),
|
||||
`reject more than one time zone annotation: ${arg} (first argument)`
|
||||
);
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.ZonedDateTime.compare(datetime, arg),
|
||||
`reject more than one time zone annotation: ${arg} (second argument)`
|
||||
);
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
// 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: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => Temporal.ZonedDateTime.from(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.prototype.equals
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const timeZone = new Temporal.TimeZone("UTC");
|
||||
const instance = new Temporal.ZonedDateTime(0n, timeZone);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.equals(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/ZonedDateTime/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/ZonedDateTime/prototype/since/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.prototype.since
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const timeZone = new Temporal.TimeZone("UTC");
|
||||
const instance = new Temporal.ZonedDateTime(0n, timeZone);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.since(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/built-ins/Temporal/ZonedDateTime/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/built-ins/Temporal/ZonedDateTime/prototype/until/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.prototype.until
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const timeZone = new Temporal.TimeZone("UTC");
|
||||
const instance = new Temporal.ZonedDateTime(0n, timeZone);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.until(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,26 @@
|
||||
// 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.prototype.withplaindate
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const timeZone = new Temporal.TimeZone("UTC");
|
||||
const instance = new Temporal.ZonedDateTime(0n, timeZone);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.withPlainDate(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
@ -0,0 +1,27 @@
|
||||
// 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.prototype.withplaintime
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"00:00[UTC][UTC]",
|
||||
"T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const timeZone = new Temporal.TimeZone("UTC");
|
||||
const instance = new Temporal.ZonedDateTime(0n, timeZone);
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.withPlainTime(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/intl402/Temporal/Calendar/prototype/era/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/intl402/Temporal/Calendar/prototype/era/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.era
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.era(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
25
test/intl402/Temporal/Calendar/prototype/eraYear/argument-string-multiple-time-zone.js
vendored
Normal file
25
test/intl402/Temporal/Calendar/prototype/eraYear/argument-string-multiple-time-zone.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
// 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.calendar.prototype.erayear
|
||||
description: More than one time zone annotation is not syntactical
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const invalidStrings = [
|
||||
"1970-01-01[UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][UTC]",
|
||||
"1970-01-01T00:00[!UTC][UTC]",
|
||||
"1970-01-01T00:00[UTC][!UTC]",
|
||||
"1970-01-01T00:00[UTC][u-ca=iso8601][UTC]",
|
||||
"1970-01-01T00:00[UTC][foo=bar][UTC]",
|
||||
];
|
||||
const instance = new Temporal.Calendar("iso8601");
|
||||
invalidStrings.forEach((arg) => {
|
||||
assert.throws(
|
||||
RangeError,
|
||||
() => instance.eraYear(arg),
|
||||
`reject more than one time zone annotation: ${arg}`
|
||||
);
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user