argument-propertybag-calendar-iso-string.js (1100B)
1 // |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally 2 // Copyright (C) 2024 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.zoneddatetime.compare 7 description: An ISO 8601 string can be converted to a calendar ID in Calendar 8 features: [Temporal] 9 ---*/ 10 11 const datetime = new Temporal.ZonedDateTime(0n, "UTC"); 12 13 for (const calendar of [ 14 "2020-01-01", 15 "2020-01-01[u-ca=iso8601]", 16 "2020-01-01T00:00:00.000000000", 17 "2020-01-01T00:00:00.000000000[u-ca=iso8601]", 18 "01-01", 19 "01-01[u-ca=iso8601]", 20 "2020-01", 21 "2020-01[u-ca=iso8601]", 22 ]) { 23 const arg = { year: 1970, monthCode: "M01", day: 1, timeZone: "UTC", calendar }; 24 const result1 = Temporal.ZonedDateTime.compare(arg, datetime); 25 assert.sameValue(result1, 0, `Calendar created from string "${calendar}" (first argument)`); 26 const result2 = Temporal.ZonedDateTime.compare(datetime, arg); 27 assert.sameValue(result2, 0, `Calendar created from string "${calendar}" (second argument)`); 28 } 29 30 reportCompare(0, 0);