order-of-operations.js (1394B)
1 // |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally 2 // Copyright (C) 2020 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 7 description: Arguments are converted to primitives in the correct order 8 includes: [compareArray.js, temporalHelpers.js] 9 features: [Temporal] 10 ---*/ 11 12 const actual = []; 13 const expected = [ 14 "get (argument 0).valueOf", 15 "call (argument 0).valueOf", 16 "get (argument 1).valueOf", 17 "call (argument 1).valueOf", 18 "get (argument 2).valueOf", 19 "call (argument 2).valueOf", 20 "get (argument 3).valueOf", 21 "call (argument 3).valueOf", 22 "get (argument 4).valueOf", 23 "call (argument 4).valueOf", 24 "get (argument 5).valueOf", 25 "call (argument 5).valueOf", 26 "get (argument 6).valueOf", 27 "call (argument 6).valueOf", 28 "get (argument 7).valueOf", 29 "call (argument 7).valueOf", 30 "get (argument 8).valueOf", 31 "call (argument 8).valueOf", 32 ]; 33 34 const dateTimeArgs = [2020, 12, 24, 12, 34, 56, 123, 456, 789].map((value, idx) => 35 TemporalHelpers.toPrimitiveObserver(actual, value, `(argument ${idx})`)); 36 37 const dateTime = new Temporal.PlainDateTime(...dateTimeArgs, "iso8601"); 38 assert.compareArray(actual, expected); 39 40 TemporalHelpers.assertPlainDateTime(dateTime, 2020, 12, "M12", 24, 12, 34, 56, 123, 456, 789); 41 42 reportCompare(0, 0);