diff --git a/harness/temporalHelpers.js b/harness/temporalHelpers.js index 195245c6c1..cbfbd555b8 100644 --- a/harness/temporalHelpers.js +++ b/harness/temporalHelpers.js @@ -1612,6 +1612,10 @@ var TemporalHelpers = { calls.push(`ownKeys ${objectName}`); return Reflect.ownKeys(target); }, + getOwnPropertyDescriptor(target, key) { + calls.push(`getOwnPropertyDescriptor ${formatPropertyName(key, objectName)}`); + return Reflect.getOwnPropertyDescriptor(target, key); + }, get(target, key, receiver) { calls.push(`get ${formatPropertyName(key, objectName)}`); const result = Reflect.get(target, key, receiver); diff --git a/test/built-ins/Temporal/PlainDate/prototype/since/order-of-operations.js b/test/built-ins/Temporal/PlainDate/prototype/since/order-of-operations.js index f46668f342..55db1ee449 100644 --- a/test/built-ins/Temporal/PlainDate/prototype/since/order-of-operations.js +++ b/test/built-ins/Temporal/PlainDate/prototype/since/order-of-operations.js @@ -48,12 +48,17 @@ const expected = [ "get options.roundingIncrement", "get options.roundingIncrement.valueOf", "call options.roundingIncrement.valueOf", - // MergeLargestUnitOption + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.roundingIncrement", "get options.roundingIncrement", + "getOwnPropertyDescriptor options.roundingMode", "get options.roundingMode", + "getOwnPropertyDescriptor options.largestUnit", "get options.largestUnit", + "getOwnPropertyDescriptor options.smallestUnit", "get options.smallestUnit", + "getOwnPropertyDescriptor options.additional", "get options.additional", // CalendarDateUntil "get this.calendar.dateUntil", diff --git a/test/built-ins/Temporal/PlainDate/prototype/until/order-of-operations.js b/test/built-ins/Temporal/PlainDate/prototype/until/order-of-operations.js index 3eda54a42b..3950b8dfbb 100644 --- a/test/built-ins/Temporal/PlainDate/prototype/until/order-of-operations.js +++ b/test/built-ins/Temporal/PlainDate/prototype/until/order-of-operations.js @@ -48,12 +48,17 @@ const expected = [ "get options.roundingIncrement", "get options.roundingIncrement.valueOf", "call options.roundingIncrement.valueOf", - // MergeLargestUnitOption + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.roundingIncrement", "get options.roundingIncrement", + "getOwnPropertyDescriptor options.roundingMode", "get options.roundingMode", + "getOwnPropertyDescriptor options.largestUnit", "get options.largestUnit", + "getOwnPropertyDescriptor options.smallestUnit", "get options.smallestUnit", + "getOwnPropertyDescriptor options.additional", "get options.additional", // CalendarDateUntil "get this.calendar.dateUntil", diff --git a/test/built-ins/Temporal/PlainDateTime/prototype/since/order-of-operations.js b/test/built-ins/Temporal/PlainDateTime/prototype/since/order-of-operations.js index d567743277..b73f5a5645 100644 --- a/test/built-ins/Temporal/PlainDateTime/prototype/since/order-of-operations.js +++ b/test/built-ins/Temporal/PlainDateTime/prototype/since/order-of-operations.js @@ -66,12 +66,17 @@ const expected = [ "get options.roundingIncrement", "get options.roundingIncrement.valueOf", "call options.roundingIncrement.valueOf", - // MergeLargestUnitOption + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.roundingIncrement", "get options.roundingIncrement", + "getOwnPropertyDescriptor options.roundingMode", "get options.roundingMode", + "getOwnPropertyDescriptor options.largestUnit", "get options.largestUnit", + "getOwnPropertyDescriptor options.smallestUnit", "get options.smallestUnit", + "getOwnPropertyDescriptor options.additional", "get options.additional", // CalendarDateUntil "get this.calendar.dateUntil", diff --git a/test/built-ins/Temporal/PlainDateTime/prototype/until/order-of-operations.js b/test/built-ins/Temporal/PlainDateTime/prototype/until/order-of-operations.js index 55af95484a..7c61f28536 100644 --- a/test/built-ins/Temporal/PlainDateTime/prototype/until/order-of-operations.js +++ b/test/built-ins/Temporal/PlainDateTime/prototype/until/order-of-operations.js @@ -66,12 +66,17 @@ const expected = [ "get options.roundingIncrement", "get options.roundingIncrement.valueOf", "call options.roundingIncrement.valueOf", - // MergeLargestUnitOption + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.roundingIncrement", "get options.roundingIncrement", + "getOwnPropertyDescriptor options.roundingMode", "get options.roundingMode", + "getOwnPropertyDescriptor options.largestUnit", "get options.largestUnit", + "getOwnPropertyDescriptor options.smallestUnit", "get options.smallestUnit", + "getOwnPropertyDescriptor options.additional", "get options.additional", // CalendarDateUntil "get this.calendar.dateUntil", diff --git a/test/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-arguments-extra-options.js b/test/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-arguments-extra-options.js index 716192590a..7378691383 100644 --- a/test/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-arguments-extra-options.js +++ b/test/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-arguments-extra-options.js @@ -14,9 +14,14 @@ features: [Temporal] const actual = []; const expected = [ + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.extra", "get options.extra", + // Temporal.Calendar.prototype.dateAdd "get options.overflow", + // overwriting property in custom calendar dateAdd + "getOwnPropertyDescriptor options.overflow", ]; const options = TemporalHelpers.propertyBagObserver(actual, { extra: 5 }, "options"); diff --git a/test/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-arguments.js b/test/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-arguments.js index a33f495130..e8d97940e7 100644 --- a/test/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-arguments.js +++ b/test/built-ins/Temporal/PlainYearMonth/prototype/add/calendar-arguments.js @@ -14,11 +14,17 @@ features: [Temporal] const actual = []; const expected = [ + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.overflow", "get options.overflow", + // Temporal.Calendar.prototype.dateAdd "get options.overflow", "get options.overflow.toString", "call options.overflow.toString", + // overwriting property in custom calendar dateAdd + "getOwnPropertyDescriptor options.overflow", + // Temporal.Calendar.prototype.yearMonthFromFields (toPrimitiveObserver copied but not options object) "get options.overflow.toString", "call options.overflow.toString", ]; diff --git a/test/built-ins/Temporal/PlainYearMonth/prototype/since/order-of-operations.js b/test/built-ins/Temporal/PlainYearMonth/prototype/since/order-of-operations.js index 59ef87d7c7..2dfe79c95d 100644 --- a/test/built-ins/Temporal/PlainYearMonth/prototype/since/order-of-operations.js +++ b/test/built-ins/Temporal/PlainYearMonth/prototype/since/order-of-operations.js @@ -60,12 +60,17 @@ const expected = [ "call this.calendar.year", "get this.calendar.dateFromFields", "call this.calendar.dateFromFields", - // MergeLargestUnitOption + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.roundingIncrement", "get options.roundingIncrement", + "getOwnPropertyDescriptor options.roundingMode", "get options.roundingMode", + "getOwnPropertyDescriptor options.largestUnit", "get options.largestUnit", + "getOwnPropertyDescriptor options.smallestUnit", "get options.smallestUnit", + "getOwnPropertyDescriptor options.additional", "get options.additional", // CalendarDateUntil "get this.calendar.dateUntil", diff --git a/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-arguments-extra-options.js b/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-arguments-extra-options.js index 8243232a0f..fed109d70a 100644 --- a/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-arguments-extra-options.js +++ b/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-arguments-extra-options.js @@ -14,9 +14,14 @@ features: [Temporal] const actual = []; const expected = [ + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.extra", "get options.extra", + // Temporal.Calendar.prototype.dateAdd "get options.overflow", + // overwriting property in custom calendar dateAdd + "getOwnPropertyDescriptor options.overflow", ]; const options = TemporalHelpers.propertyBagObserver(actual, { extra: 5 }, "options"); diff --git a/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-arguments.js b/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-arguments.js index f594f3806b..5c196c0e89 100644 --- a/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-arguments.js +++ b/test/built-ins/Temporal/PlainYearMonth/prototype/subtract/calendar-arguments.js @@ -14,11 +14,17 @@ features: [Temporal] const actual = []; const expected = [ + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.overflow", "get options.overflow", + // Temporal.Calendar.prototype.dateAdd "get options.overflow", "get options.overflow.toString", "call options.overflow.toString", + // overwriting property in custom calendar dateAdd + "getOwnPropertyDescriptor options.overflow", + // Temporal.Calendar.prototype.yearMonthFromFields (toPrimitiveObserver copied but not options object) "get options.overflow.toString", "call options.overflow.toString", ]; diff --git a/test/built-ins/Temporal/PlainYearMonth/prototype/until/order-of-operations.js b/test/built-ins/Temporal/PlainYearMonth/prototype/until/order-of-operations.js index 07b4e4e318..ea17c611d3 100644 --- a/test/built-ins/Temporal/PlainYearMonth/prototype/until/order-of-operations.js +++ b/test/built-ins/Temporal/PlainYearMonth/prototype/until/order-of-operations.js @@ -60,12 +60,17 @@ const expected = [ "call this.calendar.year", "get this.calendar.dateFromFields", "call this.calendar.dateFromFields", - // MergeLargestUnitOption + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.roundingIncrement", "get options.roundingIncrement", + "getOwnPropertyDescriptor options.roundingMode", "get options.roundingMode", + "getOwnPropertyDescriptor options.largestUnit", "get options.largestUnit", + "getOwnPropertyDescriptor options.smallestUnit", "get options.smallestUnit", + "getOwnPropertyDescriptor options.additional", "get options.additional", // CalendarDateUntil "get this.calendar.dateUntil", diff --git a/test/built-ins/Temporal/ZonedDateTime/prototype/since/order-of-operations.js b/test/built-ins/Temporal/ZonedDateTime/prototype/since/order-of-operations.js index 618e129848..40c8c606e2 100644 --- a/test/built-ins/Temporal/ZonedDateTime/prototype/since/order-of-operations.js +++ b/test/built-ins/Temporal/ZonedDateTime/prototype/since/order-of-operations.js @@ -122,12 +122,17 @@ const expectedOpsForCalendarDifference = [ "get other.timeZone[Symbol.toPrimitive]", "get other.timeZone.toString", "call other.timeZone.toString", - // MergeLargestUnitOption + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.roundingIncrement", "get options.roundingIncrement", + "getOwnPropertyDescriptor options.roundingMode", "get options.roundingMode", + "getOwnPropertyDescriptor options.largestUnit", "get options.largestUnit", + "getOwnPropertyDescriptor options.smallestUnit", "get options.smallestUnit", + "getOwnPropertyDescriptor options.additional", "get options.additional", // DifferenceZonedDateTime "get this.timeZone.getOffsetNanosecondsFor", diff --git a/test/built-ins/Temporal/ZonedDateTime/prototype/until/order-of-operations.js b/test/built-ins/Temporal/ZonedDateTime/prototype/until/order-of-operations.js index ea5f2e797f..d24cf570ca 100644 --- a/test/built-ins/Temporal/ZonedDateTime/prototype/until/order-of-operations.js +++ b/test/built-ins/Temporal/ZonedDateTime/prototype/until/order-of-operations.js @@ -122,12 +122,17 @@ const expectedOpsForCalendarDifference = [ "get other.timeZone[Symbol.toPrimitive]", "get other.timeZone.toString", "call other.timeZone.toString", - // MergeLargestUnitOption + // CopyDataProperties "ownKeys options", + "getOwnPropertyDescriptor options.roundingIncrement", "get options.roundingIncrement", + "getOwnPropertyDescriptor options.roundingMode", "get options.roundingMode", + "getOwnPropertyDescriptor options.largestUnit", "get options.largestUnit", + "getOwnPropertyDescriptor options.smallestUnit", "get options.smallestUnit", + "getOwnPropertyDescriptor options.additional", "get options.additional", // DifferenceZonedDateTime "get this.timeZone.getOffsetNanosecondsFor",