argument-string-critical-unknown-annotation.js (1100B)
1 // |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally 2 // Copyright (C) 2022 Igalia, S.L. All rights reserved. 3 // This code is governed by the BSD license found in the LICENSE file. 4 5 /*--- 6 esid: sec-temporal.plaindatetime.compare 7 description: Unknown annotations with critical flag are rejected 8 features: [Temporal] 9 ---*/ 10 11 const invalidStrings = [ 12 "1970-01-01T00:00[!foo=bar]", 13 "1970-01-01T00:00[UTC][!foo=bar]", 14 "1970-01-01T00:00[u-ca=iso8601][!foo=bar]", 15 "1970-01-01T00:00[UTC][!foo=bar][u-ca=iso8601]", 16 "1970-01-01T00:00[foo=bar][!_foo-bar0=Dont-Ignore-This-99999999999]", 17 ]; 18 19 invalidStrings.forEach((arg) => { 20 assert.throws( 21 RangeError, 22 () => Temporal.PlainDateTime.compare(arg, new Temporal.PlainDateTime(1976, 11, 18)), 23 `reject unknown annotation with critical flag: ${arg} (first argument)` 24 ); 25 assert.throws( 26 RangeError, 27 () => Temporal.PlainDateTime.compare(new Temporal.PlainDateTime(1976, 11, 18), arg), 28 `reject unknown annotation with critical flag: ${arg} (second argument)` 29 ); 30 }); 31 32 reportCompare(0, 0);