argument-plaindatetime.js (2545B)
1 // |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally 2 // Copyright (C) 2021 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.plaindate.compare 7 description: Fast path for converting Temporal.PlainDateTime to Temporal.PlainDate by reading internal slots 8 info: | 9 sec-temporal.plaindate.compare steps 1–2: 10 1. Set _one_ to ? ToTemporalDate(_one_). 11 2. Set _two_ to ? ToTemporalDate(_two_). 12 sec-temporal-totemporaldate step 2.b: 13 b. If _item_ has an [[InitializedTemporalDateTime]] internal slot, then 14 i. Return ! CreateTemporalDate(_item_.[[ISOYear]], _item_.[[ISOMonth]], _item_.[[ISODay]], _item_.[[Calendar]]). 15 includes: [compareArray.js, temporalHelpers.js] 16 features: [Temporal] 17 ---*/ 18 19 const sameDate = new Temporal.PlainDate(2000, 5, 2); 20 const earlierDate = new Temporal.PlainDate(1920, 7, 3); 21 const laterDate = new Temporal.PlainDate(2005, 1, 12); 22 23 TemporalHelpers.checkPlainDateTimeConversionFastPath((datetime) => { 24 const result = Temporal.PlainDate.compare(datetime, sameDate); 25 assert.sameValue(result, 0, "First argument, same date: comparison result"); 26 }, "First argument, same date"); 27 28 TemporalHelpers.checkPlainDateTimeConversionFastPath((datetime) => { 29 const result = Temporal.PlainDate.compare(datetime, earlierDate); 30 assert.sameValue(result, 1, "First argument, earlier date: comparison result"); 31 }, "First argument, earlier date"); 32 33 TemporalHelpers.checkPlainDateTimeConversionFastPath((datetime) => { 34 const result = Temporal.PlainDate.compare(datetime, laterDate); 35 assert.sameValue(result, -1, "First argument, later date: comparison result"); 36 }, "First argument, later date"); 37 38 TemporalHelpers.checkPlainDateTimeConversionFastPath((datetime) => { 39 const result = Temporal.PlainDate.compare(sameDate, datetime); 40 assert.sameValue(result, 0, "Second argument, same date: comparison result"); 41 }, "Second argument, same date"); 42 43 TemporalHelpers.checkPlainDateTimeConversionFastPath((datetime) => { 44 const result = Temporal.PlainDate.compare(earlierDate, datetime); 45 assert.sameValue(result, -1, "Second argument, earlier date: comparison result"); 46 }, "Second argument, earlier date"); 47 48 TemporalHelpers.checkPlainDateTimeConversionFastPath((datetime) => { 49 const result = Temporal.PlainDate.compare(laterDate, datetime); 50 assert.sameValue(result, 1, "Second argument, later date: comparison result"); 51 }, "Second argument, later date"); 52 53 reportCompare(0, 0);