mirror of
https://github.com/tc39/test262.git
synced 2025-04-08 19:35:28 +02:00
Temporal: Adjust relativeto-string-datetime tests
As of https://github.com/tc39/proposal-temporal/pull/2397 which reached consensus in the August 2022 TC39 meeting, a date-time + Z with no bracket annotation is no longer accepted as a relativeTo parameter; either the Z should be removed or a bracket annotation should be added. This requires adjusting a few existing tests, but doesn't require any new ones.
This commit is contained in:
parent
eb67a7689f
commit
bf3efa65fc
@ -16,25 +16,23 @@ let relativeTo = "2019-11-01T00:00";
|
||||
const result1 = instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "bare date-time string is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z";
|
||||
const result2 = instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + Z is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00-07:00";
|
||||
const result3 = instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + offset is a plain relativeTo");
|
||||
const result2 = instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + offset is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00[-07:00]";
|
||||
const result4 = instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + IANA annotation is a zoned relativeTo");
|
||||
const result3 = instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z[-07:00]";
|
||||
const result5 = instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + Z + IANA annotation is a zoned relativeTo");
|
||||
const result4 = instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + Z + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00+00:00[UTC]";
|
||||
const result6 = instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + offset + IANA annotation is a zoned relativeTo");
|
||||
const result5 = instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + offset + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z";
|
||||
assert.throws(RangeError, () => instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo }), "date-time + Z throws without an IANA annotation");
|
||||
relativeTo = "2019-11-01T00:00+04:15[UTC]";
|
||||
assert.throws(RangeError, () => instance.add(new Temporal.Duration(0, 0, 0, 0, -24), { relativeTo }), "date-time + offset + IANA annotation throws if wall time and exact time mismatch");
|
||||
|
@ -16,25 +16,23 @@ let relativeTo = "2019-11-01T00:00";
|
||||
const result1 = instance.round({ largestUnit: "years", relativeTo });
|
||||
TemporalHelpers.assertDuration(result1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, "bare date-time string is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z";
|
||||
const result2 = instance.round({ largestUnit: "years", relativeTo });
|
||||
TemporalHelpers.assertDuration(result2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, "date-time + Z is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00-07:00";
|
||||
const result3 = instance.round({ largestUnit: "years", relativeTo });
|
||||
TemporalHelpers.assertDuration(result3, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, "date-time + offset is a plain relativeTo");
|
||||
const result2 = instance.round({ largestUnit: "years", relativeTo });
|
||||
TemporalHelpers.assertDuration(result2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, "date-time + offset is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00[-07:00]";
|
||||
const result4 = instance.round({ largestUnit: "years", relativeTo });
|
||||
TemporalHelpers.assertDuration(result4, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, "date-time + IANA annotation is a zoned relativeTo");
|
||||
const result3 = instance.round({ largestUnit: "years", relativeTo });
|
||||
TemporalHelpers.assertDuration(result3, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, "date-time + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z[-07:00]";
|
||||
const result5 = instance.round({ largestUnit: "years", relativeTo });
|
||||
TemporalHelpers.assertDuration(result5, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, "date-time + Z + IANA annotation is a zoned relativeTo");
|
||||
const result4 = instance.round({ largestUnit: "years", relativeTo });
|
||||
TemporalHelpers.assertDuration(result4, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, "date-time + Z + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00+00:00[UTC]";
|
||||
const result6 = instance.round({ largestUnit: "years", relativeTo });
|
||||
TemporalHelpers.assertDuration(result6, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, "date-time + offset + IANA annotation is a zoned relativeTo");
|
||||
const result5 = instance.round({ largestUnit: "years", relativeTo });
|
||||
TemporalHelpers.assertDuration(result5, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, "date-time + offset + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z";
|
||||
assert.throws(RangeError, () => instance.round({ largestUnit: "years", relativeTo }), "date-time + Z throws without an IANA annotation");
|
||||
relativeTo = "2019-11-01T00:00+04:15[UTC]";
|
||||
assert.throws(RangeError, () => instance.round({ largestUnit: "years", relativeTo }), "date-time + offset + IANA annotation throws if wall time and exact time mismatch");
|
||||
|
@ -16,25 +16,23 @@ let relativeTo = "2019-11-01T00:00";
|
||||
const result1 = instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "bare date-time string is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z";
|
||||
const result2 = instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + Z is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00-07:00";
|
||||
const result3 = instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + offset is a plain relativeTo");
|
||||
const result2 = instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + offset is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00[-07:00]";
|
||||
const result4 = instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + IANA annotation is a zoned relativeTo");
|
||||
const result3 = instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z[-07:00]";
|
||||
const result5 = instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + Z + IANA annotation is a zoned relativeTo");
|
||||
const result4 = instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + Z + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00+00:00[UTC]";
|
||||
const result6 = instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + offset + IANA annotation is a zoned relativeTo");
|
||||
const result5 = instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo });
|
||||
TemporalHelpers.assertDuration(result5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, "date-time + offset + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z";
|
||||
assert.throws(RangeError, () => instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo }), "date-time + Z throws without an IANA annotation");
|
||||
relativeTo = "2019-11-01T00:00+04:15[UTC]";
|
||||
assert.throws(RangeError, () => instance.subtract(new Temporal.Duration(0, 0, 0, 0, 24), { relativeTo }), "date-time + offset + IANA annotation throws if wall time and exact time mismatch");
|
||||
|
@ -15,25 +15,23 @@ let relativeTo = "2019-11-01T00:00";
|
||||
const result1 = instance.total({ unit: "days", relativeTo });
|
||||
assert.sameValue(result1, 367, "bare date-time string is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z";
|
||||
const result2 = instance.total({ unit: "days", relativeTo });
|
||||
assert.sameValue(result2, 367, "date-time + Z is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00-07:00";
|
||||
const result3 = instance.total({ unit: "days", relativeTo });
|
||||
assert.sameValue(result3, 367, "date-time + offset is a plain relativeTo");
|
||||
const result2 = instance.total({ unit: "days", relativeTo });
|
||||
assert.sameValue(result2, 367, "date-time + offset is a plain relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00[-07:00]";
|
||||
const result4 = instance.total({ unit: "days", relativeTo });
|
||||
assert.sameValue(result4, 367, "date-time + IANA annotation is a zoned relativeTo");
|
||||
const result3 = instance.total({ unit: "days", relativeTo });
|
||||
assert.sameValue(result3, 367, "date-time + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z[-07:00]";
|
||||
const result5 = instance.total({ unit: "days", relativeTo });
|
||||
assert.sameValue(result5, 367, "date-time + Z + IANA annotation is a zoned relativeTo");
|
||||
const result4 = instance.total({ unit: "days", relativeTo });
|
||||
assert.sameValue(result4, 367, "date-time + Z + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00+00:00[UTC]";
|
||||
const result6 = instance.total({ unit: "days", relativeTo });
|
||||
assert.sameValue(result6, 367, "date-time + offset + IANA annotation is a zoned relativeTo");
|
||||
const result5 = instance.total({ unit: "days", relativeTo });
|
||||
assert.sameValue(result5, 367, "date-time + offset + IANA annotation is a zoned relativeTo");
|
||||
|
||||
relativeTo = "2019-11-01T00:00Z";
|
||||
assert.throws(RangeError, () => instance.total({ unit: "days", relativeTo }), "date-time + Z throws without an IANA annotation");
|
||||
relativeTo = "2019-11-01T00:00+04:15[UTC]";
|
||||
assert.throws(RangeError, () => instance.total({ unit: "days", relativeTo }), "date-time + offset + IANA annotation throws if wall time and exact time mismatch");
|
||||
|
Loading…
x
Reference in New Issue
Block a user