test262/test/built-ins/Temporal/PlainDateTime/compare/argument-string-calendar-annotation.js
Philip Chimento 3e858ef02d Tests for multiple calendar annotations with at least one critical
As per IETF review, an IXDTF string (ISO 8601 with annotations) is no
longer valid if it contains more than one u-ca annotation and at least one
of the annotations is marked critical.

Removes tests where such a string was assumed to be valid, and adds new
ones with a few variations on invalid strings.
2023-05-24 13:12:40 -07:00

27 lines
828 B
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.plaindatetime.compare
description: Various forms of calendar annotation; critical flag has no effect
features: [Temporal]
---*/
const tests = [
["1976-11-18T15:23[u-ca=iso8601]", "without time zone"],
["1976-11-18T15:23[UTC][u-ca=iso8601]", "with time zone"],
["1976-11-18T15:23[!u-ca=iso8601]", "with ! and no time zone"],
["1976-11-18T15:23[UTC][!u-ca=iso8601]", "with ! and time zone"],
["1976-11-18T15:23[u-ca=iso8601][u-ca=discord]", "second annotation ignored"],
];
tests.forEach(([arg, description]) => {
const result = Temporal.PlainDateTime.compare(arg, arg);
assert.sameValue(
result,
0,
`calendar annotation (${description})`
);
});