Skip to content

Implement Temporal #1692

Implement Temporal

Implement Temporal #1692

Triggered via pull request January 30, 2026 23:21
Status Failure
Total duration 6m 18s
Artifacts

pr.yml

on: pull_request
Matrix: test
Fit to window
Zoom out
Zoom in

Annotations

40 errors
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-no-fractional-minutes-hours.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-no-fractional-minutes-hours.js Jint.Runtime.JavaScriptException: Fractional minutes not allowed in time string Expected a RangeError to be thrown but no exception was thrown at all ---> Error: Fractional minutes not allowed in time string Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-no-fractional-minutes-hours.js:19:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2026 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: Fractional minutes or hours in time string in relativeTo option should throw RangeError 07: features: [Temporal] 08: ---*/ 09: 10: const instance1 = new Temporal.Duration(1, 0, 0, 0, 24) 11: const instance2 = new Temporal.Duration(1, 0, 0, 0, 24) 12: 13: const invalidStrings = [ 14: ["2025-04-03T05:07.123", "Fractional minutes"], 15: ["2025-04-03T12.5", "Fractional hours"], 16: ]; 17: 18: for (const [arg, description] of invalidStrings) { 19: assert.throws( 20: RangeError, 21: () => Temporal.Duration.compare(instance1, instance2, { relativeTo: arg }), 22: `${description} not allowed in time string` 23: ); 24: } 25:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-hour.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-hour.js Jint.Runtime.JavaScriptException: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true ---> Error: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true at assert.sameValue (harness/assert.js:49:9) at built-ins/Temporal/Duration/compare/relativeto-hour.js:15:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2022 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: relativeTo with hours. 07: features: [Temporal] 08: ---*/ 09: 10: const oneDay = new Temporal.Duration(0, 0, 0, 1); 11: const hours24 = new Temporal.Duration(0, 0, 0, 0, 24); 12: assert.sameValue(Temporal.Duration.compare(oneDay, hours24), 13: 0, 14: "relativeTo not required for days"); 15: assert.sameValue( 16: Temporal.Duration.compare(oneDay, hours24, { relativeTo: Temporal.PlainDate.from("2017-01-01") }), 17: 0, 18: "relativeTo does not affect days if PlainDate"); 19: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: "2019-11-03" }), 20: 0, 21: "casts relativeTo to PlainDate from string"); 22: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: { year: 2019, month: 11, day: 3 } }), 23: 0, 24: "casts relativeTo to PlainDate from object"); 25:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js:20:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 08: features: [Temporal] 09: ---*/ 10: 11: const instance_1 = new Temporal.Duration(1); 12: const instance_2 = new Temporal.Duration(2); 13: 14: const invalidStrings = [ 15: ["", "empty string"], 16: ["1997-12-04[u-ca=notacal]", "Unknown calendar"], 17: ]; 18: 19: for (const [arg, description] of invalidStrings) { 20: assert.throws( 21: RangeError, 22: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 23: `${description} is not a valid calendar ID` 24: ); 25: } 26: 27:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js:19:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 07: features: [Temporal] 08: ---*/ 09: 10: const instance_1 = new Temporal.Duration(1); 11: const instance_2 = new Temporal.Duration(2); 12: 13: const invalidStrings = [ 14: ["", "empty string"], 15: ["1997-12-04[u-ca=notacal]", "Unknown calendar"], 16: ]; 17: 18: for (const [arg, description] of invalidStrings) { 19: assert.throws( 20: RangeError, 21: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 22: `${description} is not a valid calendar ID` 23: ); 24: } 25: 26:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/order-of-operations.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/order-of-operations.js Jint.Runtime.JavaScriptException: Actual [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.timeZone, get options.relativeTo.day, get options.relativeTo.month, get options.relativeTo.monthCode, get options.relativeTo.year, get options.relativeTo.hour, get options.relativeTo.minute, get options.relativeTo.second, get options.relativeTo.millisecond, get options.relativeTo.microsecond, get options.relativeTo.nanosecond, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get options.relativeTo.year.valueOf, call options.relativeTo.year.valueOf] and expected [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.calendar, get options.relativeTo.day, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.hour, get options.relativeTo.microsecond, get options.relativeTo.millisecond, get options.relativeTo.minute, get options.relativeTo.month, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get op
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js:21:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 08: features: [Temporal] 09: ---*/ 10: 11: const instance_1 = new Temporal.Duration(1); 12: const instance_2 = new Temporal.Duration(2); 13: 14: const invalidStrings = [ 15: ["", "empty string"], 16: ["notacal", "Unknown calendar"], 17: ]; 18: 19: for (const [cal, description] of invalidStrings) { 20: const arg = { year: 2019, monthCode: "M11", day: 1, calendar: cal }; 21: assert.throws( 22: RangeError, 23: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 24: `${description} is not a valid calendar ID` 25: ); 26: } 27:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js:20:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 07: features: [Temporal] 08: ---*/ 09: 10: const instance_1 = new Temporal.Duration(1); 11: const instance_2 = new Temporal.Duration(2); 12: 13: const invalidStrings = [ 14: ["", "empty string"], 15: ["notacal", "Unknown calendar"], 16: ]; 17: 18: for (const [cal, description] of invalidStrings) { 19: const arg = { year: 2019, monthCode: "M11", day: 1, calendar: cal }; 20: assert.throws( 21: RangeError, 22: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 23: `${description} is not a valid calendar ID` 24: ); 25: } 26:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/order-of-operations.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/order-of-operations.js Jint.Runtime.JavaScriptException: Actual [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.timeZone, get options.relativeTo.day, get options.relativeTo.month, get options.relativeTo.monthCode, get options.relativeTo.year, get options.relativeTo.hour, get options.relativeTo.minute, get options.relativeTo.second, get options.relativeTo.millisecond, get options.relativeTo.microsecond, get options.relativeTo.nanosecond, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get options.relativeTo.year.valueOf, call options.relativeTo.year.valueOf] and expected [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.calendar, get options.relativeTo.day, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.hour, get options.relativeTo.microsecond, get options.relativeTo.millisecond, get options.relativeTo.minute, get options.relativeTo.month, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get op
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js Jint.Runtime.JavaScriptException: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all ---> Error: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js:23:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2024 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: RangeError thrown when calendar part of duration added to relativeTo is out of range 08: features: [Temporal] 09: info: | 10: UnbalanceDateDurationRelative: 11: 11. Let _yearsMonthsWeeksDuration_ be ! CreateTemporalDuration(_years_, _months_, _weeks_, 0, 0, 0, 0, 0, 0, 0). 12: 12. Let _later_ be ? CalendarDateAdd(_calendaRec_, _plainRelativeTo_, _yearsMonthsWeeksDuration_). 13: 13. Let _yearsMonthsWeeksInDays_ be DaysUntil(_plainRelativeTo_, _later_). 14: 14. Return ? CreateDateDurationRecord(0, 0, 0, _days_ + _yearsMonthsWeeksInDays_). 15: ---*/ 16: 17: // Based on a test case by André Bargull <andre.bargull@gmail.com> 18: 19: const relativeTo = new Temporal.PlainDate(2000, 1, 1); 20: const zero = new Temporal.Duration(); 21: 22: const instance = new Temporal.Duration(0, 0, /* weeks = */ 1, /* days = */ Math.trunc((2 ** 53) / 86_400)); 23: assert.throws(RangeError, () => Temporal.Duration.compare(instance, zero, {relativeTo}), "weeks + days out of range, positive, first argument"); 24: assert.throws(RangeError, () => Temporal.Duration.compare(zero, instance, {relativeTo}), "weeks + days out of range, positive, second argument"); 25: 26: const negInstance = new Temporal.Duration(0, 0, /* weeks = */ -1, /* days = */ -Math.trunc((2 ** 53) / 86_400)); 27: assert.throws(RangeError, () => Temporal.Duration.compare(negInstance, zero, {relativeTo}), "weeks + days out of range, negative, first argument"); 28: assert.throws(RangeError, () => Temporal.Duration.compare(zero, negInstance, {relativeTo}), "weeks + days out of range, negative, second argument"); 29:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js Jint.Runtime.JavaScriptException: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all ---> Error: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js:22:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2024 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: RangeError thrown when calendar part of duration added to relativeTo is out of range 07: features: [Temporal] 08: info: | 09: UnbalanceDateDurationRelative: 10: 11. Let _yearsMonthsWeeksDuration_ be ! CreateTemporalDuration(_years_, _months_, _weeks_, 0, 0, 0, 0, 0, 0, 0). 11: 12. Let _later_ be ? CalendarDateAdd(_calendaRec_, _plainRelativeTo_, _yearsMonthsWeeksDuration_). 12: 13. Let _yearsMonthsWeeksInDays_ be DaysUntil(_plainRelativeTo_, _later_). 13: 14. Return ? CreateDateDurationRecord(0, 0, 0, _days_ + _yearsMonthsWeeksInDays_). 14: ---*/ 15: 16: // Based on a test case by André Bargull <andre.bargull@gmail.com> 17: 18: const relativeTo = new Temporal.PlainDate(2000, 1, 1); 19: const zero = new Temporal.Duration(); 20: 21: const instance = new Temporal.Duration(0, 0, /* weeks = */ 1, /* days = */ Math.trunc((2 ** 53) / 86_400)); 22: assert.throws(RangeError, () => Temporal.Duration.compare(instance, zero, {relativeTo}), "weeks + days out of range, positive, first argument"); 23: assert.throws(RangeError, () => Temporal.Duration.compare(zero, instance, {relativeTo}), "weeks + days out of range, positive, second argument"); 24: 25: const negInstance = new Temporal.Duration(0, 0, /* weeks = */ -1, /* days = */ -Math.trunc((2 ** 53) / 86_400)); 26: assert.throws(RangeError, () => Temporal.Duration.compare(negInstance, zero, {relativeTo}), "weeks + days out of range, negative, first argument"); 27: assert.throws(RangeError, () => Temporal.Duration.compare(zero, negInstance, {relativeTo}), "weeks + days out of range, negative, second argument"); 28:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js:20:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 08: features: [Temporal] 09: ---*/ 10: 11: const instance_1 = new Temporal.Duration(1); 12: const instance_2 = new Temporal.Duration(2); 13: 14: const invalidStrings = [ 15: ["", "empty string"], 16: ["1997-12-04[u-ca=notacal]", "Unknown calendar"], 17: ]; 18: 19: for (const [arg, description] of invalidStrings) { 20: assert.throws( 21: RangeError, 22: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 23: `${description} is not a valid calendar ID` 24: ); 25: } 26: 27:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js:19:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 07: features: [Temporal] 08: ---*/ 09: 10: const instance_1 = new Temporal.Duration(1); 11: const instance_2 = new Temporal.Duration(2); 12: 13: const invalidStrings = [ 14: ["", "empty string"], 15: ["1997-12-04[u-ca=notacal]", "Unknown calendar"], 16: ]; 17: 18: for (const [arg, description] of invalidStrings) { 19: assert.throws( 20: RangeError, 21: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 22: `${description} is not a valid calendar ID` 23: ); 24: } 25: 26:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-hour.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-hour.js Jint.Runtime.JavaScriptException: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true ---> Error: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true at assert.sameValue (harness/assert.js:49:9) at built-ins/Temporal/Duration/compare/relativeto-hour.js:16:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2022 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: relativeTo with hours. 08: features: [Temporal] 09: ---*/ 10: 11: const oneDay = new Temporal.Duration(0, 0, 0, 1); 12: const hours24 = new Temporal.Duration(0, 0, 0, 0, 24); 13: assert.sameValue(Temporal.Duration.compare(oneDay, hours24), 14: 0, 15: "relativeTo not required for days"); 16: assert.sameValue( 17: Temporal.Duration.compare(oneDay, hours24, { relativeTo: Temporal.PlainDate.from("2017-01-01") }), 18: 0, 19: "relativeTo does not affect days if PlainDate"); 20: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: "2019-11-03" }), 21: 0, 22: "casts relativeTo to PlainDate from string"); 23: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: { year: 2019, month: 11, day: 3 } }), 24: 0, 25: "casts relativeTo to PlainDate from object"); 26:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-hour.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-hour.js Jint.Runtime.JavaScriptException: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true ---> Error: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true at assert.sameValue (harness/assert.js:49:9) at built-ins/Temporal/Duration/compare/relativeto-hour.js:15:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2022 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: relativeTo with hours. 07: features: [Temporal] 08: ---*/ 09: 10: const oneDay = new Temporal.Duration(0, 0, 0, 1); 11: const hours24 = new Temporal.Duration(0, 0, 0, 0, 24); 12: assert.sameValue(Temporal.Duration.compare(oneDay, hours24), 13: 0, 14: "relativeTo not required for days"); 15: assert.sameValue( 16: Temporal.Duration.compare(oneDay, hours24, { relativeTo: Temporal.PlainDate.from("2017-01-01") }), 17: 0, 18: "relativeTo does not affect days if PlainDate"); 19: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: "2019-11-03" }), 20: 0, 21: "casts relativeTo to PlainDate from string"); 22: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: { year: 2019, month: 11, day: 3 } }), 23: 0, 24: "casts relativeTo to PlainDate from object"); 25:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js:21:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 08: features: [Temporal] 09: ---*/ 10: 11: const instance_1 = new Temporal.Duration(1); 12: const instance_2 = new Temporal.Duration(2); 13: 14: const invalidStrings = [ 15: ["", "empty string"], 16: ["notacal", "Unknown calendar"], 17: ]; 18: 19: for (const [cal, description] of invalidStrings) { 20: const arg = { year: 2019, monthCode: "M11", day: 1, calendar: cal }; 21: assert.throws( 22: RangeError, 23: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 24: `${description} is not a valid calendar ID` 25: ); 26: } 27:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js:20:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 07: features: [Temporal] 08: ---*/ 09: 10: const instance_1 = new Temporal.Duration(1); 11: const instance_2 = new Temporal.Duration(2); 12: 13: const invalidStrings = [ 14: ["", "empty string"], 15: ["notacal", "Unknown calendar"], 16: ]; 17: 18: for (const [cal, description] of invalidStrings) { 19: const arg = { year: 2019, monthCode: "M11", day: 1, calendar: cal }; 20: assert.throws( 21: RangeError, 22: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 23: `${description} is not a valid calendar ID` 24: ); 25: } 26:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/order-of-operations.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/order-of-operations.js Jint.Runtime.JavaScriptException: Actual [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.timeZone, get options.relativeTo.day, get options.relativeTo.month, get options.relativeTo.monthCode, get options.relativeTo.year, get options.relativeTo.hour, get options.relativeTo.minute, get options.relativeTo.second, get options.relativeTo.millisecond, get options.relativeTo.microsecond, get options.relativeTo.nanosecond, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get options.relativeTo.year.valueOf, call options.relativeTo.year.valueOf] and expected [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.calendar, get options.relativeTo.day, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.hour, get options.relativeTo.microsecond, get options.relativeTo.millisecond, get options.relativeTo.minute, get options.relativeTo.month, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get op
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/order-of-operations.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/order-of-operations.js Jint.Runtime.JavaScriptException: Actual [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.timeZone, get options.relativeTo.day, get options.relativeTo.month, get options.relativeTo.monthCode, get options.relativeTo.year, get options.relativeTo.hour, get options.relativeTo.minute, get options.relativeTo.second, get options.relativeTo.millisecond, get options.relativeTo.microsecond, get options.relativeTo.nanosecond, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get options.relativeTo.year.valueOf, call options.relativeTo.year.valueOf] and expected [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.calendar, get options.relativeTo.day, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.hour, get options.relativeTo.microsecond, get options.relativeTo.millisecond, get options.relativeTo.minute, get options.relativeTo.month, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get op
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js Jint.Runtime.JavaScriptException: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all ---> Error: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js:22:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2024 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: RangeError thrown when calendar part of duration added to relativeTo is out of range 07: features: [Temporal] 08: info: | 09: UnbalanceDateDurationRelative: 10: 11. Let _yearsMonthsWeeksDuration_ be ! CreateTemporalDuration(_years_, _months_, _weeks_, 0, 0, 0, 0, 0, 0, 0). 11: 12. Let _later_ be ? CalendarDateAdd(_calendaRec_, _plainRelativeTo_, _yearsMonthsWeeksDuration_). 12: 13. Let _yearsMonthsWeeksInDays_ be DaysUntil(_plainRelativeTo_, _later_). 13: 14. Return ? CreateDateDurationRecord(0, 0, 0, _days_ + _yearsMonthsWeeksInDays_). 14: ---*/ 15: 16: // Based on a test case by André Bargull <andre.bargull@gmail.com> 17: 18: const relativeTo = new Temporal.PlainDate(2000, 1, 1); 19: const zero = new Temporal.Duration(); 20: 21: const instance = new Temporal.Duration(0, 0, /* weeks = */ 1, /* days = */ Math.trunc((2 ** 53) / 86_400)); 22: assert.throws(RangeError, () => Temporal.Duration.compare(instance, zero, {relativeTo}), "weeks + days out of range, positive, first argument"); 23: assert.throws(RangeError, () => Temporal.Duration.compare(zero, instance, {relativeTo}), "weeks + days out of range, positive, second argument"); 24: 25: const negInstance = new Temporal.Duration(0, 0, /* weeks = */ -1, /* days = */ -Math.trunc((2 ** 53) / 86_400)); 26: assert.throws(RangeError, () => Temporal.Duration.compare(negInstance, zero, {relativeTo}), "weeks + days out of range, negative, first argument"); 27: assert.throws(RangeError, () => Temporal.Duration.compare(zero, negInstance, {relativeTo}), "weeks + days out of range, negative, second argument"); 28:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js Jint.Runtime.JavaScriptException: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all ---> Error: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js:23:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /home/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /home/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /home/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2024 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: RangeError thrown when calendar part of duration added to relativeTo is out of range 08: features: [Temporal] 09: info: | 10: UnbalanceDateDurationRelative: 11: 11. Let _yearsMonthsWeeksDuration_ be ! CreateTemporalDuration(_years_, _months_, _weeks_, 0, 0, 0, 0, 0, 0, 0). 12: 12. Let _later_ be ? CalendarDateAdd(_calendaRec_, _plainRelativeTo_, _yearsMonthsWeeksDuration_). 13: 13. Let _yearsMonthsWeeksInDays_ be DaysUntil(_plainRelativeTo_, _later_). 14: 14. Return ? CreateDateDurationRecord(0, 0, 0, _days_ + _yearsMonthsWeeksInDays_). 15: ---*/ 16: 17: // Based on a test case by André Bargull <andre.bargull@gmail.com> 18: 19: const relativeTo = new Temporal.PlainDate(2000, 1, 1); 20: const zero = new Temporal.Duration(); 21: 22: const instance = new Temporal.Duration(0, 0, /* weeks = */ 1, /* days = */ Math.trunc((2 ** 53) / 86_400)); 23: assert.throws(RangeError, () => Temporal.Duration.compare(instance, zero, {relativeTo}), "weeks + days out of range, positive, first argument"); 24: assert.throws(RangeError, () => Temporal.Duration.compare(zero, instance, {relativeTo}), "weeks + days out of range, positive, second argument"); 25: 26: const negInstance = new Temporal.Duration(0, 0, /* weeks = */ -1, /* days = */ -Math.trunc((2 ** 53) / 86_400)); 27: assert.throws(RangeError, () => Temporal.Duration.compare(negInstance, zero, {relativeTo}), "weeks + days out of range, negative, first argument"); 28: assert.throws(RangeError, () => Temporal.Duration.compare(zero, negInstance, {relativeTo}), "weeks + days out of range, negative, second argument"); 29:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-hour.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-hour.js Jint.Runtime.JavaScriptException: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true ---> Error: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true at assert.sameValue (harness/assert.js:49:9) at built-ins/Temporal/Duration/compare/relativeto-hour.js:16:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /Users/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2022 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: relativeTo with hours. 08: features: [Temporal] 09: ---*/ 10: 11: const oneDay = new Temporal.Duration(0, 0, 0, 1); 12: const hours24 = new Temporal.Duration(0, 0, 0, 0, 24); 13: assert.sameValue(Temporal.Duration.compare(oneDay, hours24), 14: 0, 15: "relativeTo not required for days"); 16: assert.sameValue( 17: Temporal.Duration.compare(oneDay, hours24, { relativeTo: Temporal.PlainDate.from("2017-01-01") }), 18: 0, 19: "relativeTo does not affect days if PlainDate"); 20: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: "2019-11-03" }), 21: 0, 22: "casts relativeTo to PlainDate from string"); 23: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: { year: 2019, month: 11, day: 3 } }), 24: 0, 25: "casts relativeTo to PlainDate from object"); 26:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-hour.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-hour.js Jint.Runtime.JavaScriptException: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true ---> Error: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true at assert.sameValue (harness/assert.js:49:9) at built-ins/Temporal/Duration/compare/relativeto-hour.js:15:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /Users/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2022 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: relativeTo with hours. 07: features: [Temporal] 08: ---*/ 09: 10: const oneDay = new Temporal.Duration(0, 0, 0, 1); 11: const hours24 = new Temporal.Duration(0, 0, 0, 0, 24); 12: assert.sameValue(Temporal.Duration.compare(oneDay, hours24), 13: 0, 14: "relativeTo not required for days"); 15: assert.sameValue( 16: Temporal.Duration.compare(oneDay, hours24, { relativeTo: Temporal.PlainDate.from("2017-01-01") }), 17: 0, 18: "relativeTo does not affect days if PlainDate"); 19: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: "2019-11-03" }), 20: 0, 21: "casts relativeTo to PlainDate from string"); 22: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: { year: 2019, month: 11, day: 3 } }), 23: 0, 24: "casts relativeTo to PlainDate from object"); 25:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js:20:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /Users/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 08: features: [Temporal] 09: ---*/ 10: 11: const instance_1 = new Temporal.Duration(1); 12: const instance_2 = new Temporal.Duration(2); 13: 14: const invalidStrings = [ 15: ["", "empty string"], 16: ["1997-12-04[u-ca=notacal]", "Unknown calendar"], 17: ]; 18: 19: for (const [arg, description] of invalidStrings) { 20: assert.throws( 21: RangeError, 22: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 23: `${description} is not a valid calendar ID` 24: ); 25: } 26: 27:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js:19:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /Users/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 07: features: [Temporal] 08: ---*/ 09: 10: const instance_1 = new Temporal.Duration(1); 11: const instance_2 = new Temporal.Duration(2); 12: 13: const invalidStrings = [ 14: ["", "empty string"], 15: ["1997-12-04[u-ca=notacal]", "Unknown calendar"], 16: ]; 17: 18: for (const [arg, description] of invalidStrings) { 19: assert.throws( 20: RangeError, 21: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 22: `${description} is not a valid calendar ID` 23: ); 24: } 25: 26:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js:21:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /Users/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 08: features: [Temporal] 09: ---*/ 10: 11: const instance_1 = new Temporal.Duration(1); 12: const instance_2 = new Temporal.Duration(2); 13: 14: const invalidStrings = [ 15: ["", "empty string"], 16: ["notacal", "Unknown calendar"], 17: ]; 18: 19: for (const [cal, description] of invalidStrings) { 20: const arg = { year: 2019, monthCode: "M11", day: 1, calendar: cal }; 21: assert.throws( 22: RangeError, 23: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 24: `${description} is not a valid calendar ID` 25: ); 26: } 27:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js:20:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /Users/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 07: features: [Temporal] 08: ---*/ 09: 10: const instance_1 = new Temporal.Duration(1); 11: const instance_2 = new Temporal.Duration(2); 12: 13: const invalidStrings = [ 14: ["", "empty string"], 15: ["notacal", "Unknown calendar"], 16: ]; 17: 18: for (const [cal, description] of invalidStrings) { 19: const arg = { year: 2019, monthCode: "M11", day: 1, calendar: cal }; 20: assert.throws( 21: RangeError, 22: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 23: `${description} is not a valid calendar ID` 24: ); 25: } 26:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/order-of-operations.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/order-of-operations.js Jint.Runtime.JavaScriptException: Actual [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.timeZone, get options.relativeTo.day, get options.relativeTo.month, get options.relativeTo.monthCode, get options.relativeTo.year, get options.relativeTo.hour, get options.relativeTo.minute, get options.relativeTo.second, get options.relativeTo.millisecond, get options.relativeTo.microsecond, get options.relativeTo.nanosecond, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get options.relativeTo.year.valueOf, call options.relativeTo.year.valueOf] and expected [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.calendar, get options.relativeTo.day, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.hour, get options.relativeTo.microsecond, get options.relativeTo.millisecond, get options.relativeTo.minute, get options.relativeTo.month, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get op
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/order-of-operations.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/order-of-operations.js Jint.Runtime.JavaScriptException: Actual [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.timeZone, get options.relativeTo.day, get options.relativeTo.month, get options.relativeTo.monthCode, get options.relativeTo.year, get options.relativeTo.hour, get options.relativeTo.minute, get options.relativeTo.second, get options.relativeTo.millisecond, get options.relativeTo.microsecond, get options.relativeTo.nanosecond, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get options.relativeTo.year.valueOf, call options.relativeTo.year.valueOf] and expected [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.calendar, get options.relativeTo.day, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.hour, get options.relativeTo.microsecond, get options.relativeTo.millisecond, get options.relativeTo.minute, get options.relativeTo.month, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get op
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js Jint.Runtime.JavaScriptException: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all ---> Error: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js:23:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /Users/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2024 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: RangeError thrown when calendar part of duration added to relativeTo is out of range 08: features: [Temporal] 09: info: | 10: UnbalanceDateDurationRelative: 11: 11. Let _yearsMonthsWeeksDuration_ be ! CreateTemporalDuration(_years_, _months_, _weeks_, 0, 0, 0, 0, 0, 0, 0). 12: 12. Let _later_ be ? CalendarDateAdd(_calendaRec_, _plainRelativeTo_, _yearsMonthsWeeksDuration_). 13: 13. Let _yearsMonthsWeeksInDays_ be DaysUntil(_plainRelativeTo_, _later_). 14: 14. Return ? CreateDateDurationRecord(0, 0, 0, _days_ + _yearsMonthsWeeksInDays_). 15: ---*/ 16: 17: // Based on a test case by André Bargull <andre.bargull@gmail.com> 18: 19: const relativeTo = new Temporal.PlainDate(2000, 1, 1); 20: const zero = new Temporal.Duration(); 21: 22: const instance = new Temporal.Duration(0, 0, /* weeks = */ 1, /* days = */ Math.trunc((2 ** 53) / 86_400)); 23: assert.throws(RangeError, () => Temporal.Duration.compare(instance, zero, {relativeTo}), "weeks + days out of range, positive, first argument"); 24: assert.throws(RangeError, () => Temporal.Duration.compare(zero, instance, {relativeTo}), "weeks + days out of range, positive, second argument"); 25: 26: const negInstance = new Temporal.Duration(0, 0, /* weeks = */ -1, /* days = */ -Math.trunc((2 ** 53) / 86_400)); 27: assert.throws(RangeError, () => Temporal.Duration.compare(negInstance, zero, {relativeTo}), "weeks + days out of range, negative, first argument"); 28: assert.throws(RangeError, () => Temporal.Duration.compare(zero, negInstance, {relativeTo}), "weeks + days out of range, negative, second argument"); 29:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js Jint.Runtime.JavaScriptException: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all ---> Error: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js:22:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in /Users/runner/work/jint/jint/Jint/Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in /Users/runner/work/jint/jint/Jint.Tests.Test262/Generated/Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2024 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: RangeError thrown when calendar part of duration added to relativeTo is out of range 07: features: [Temporal] 08: info: | 09: UnbalanceDateDurationRelative: 10: 11. Let _yearsMonthsWeeksDuration_ be ! CreateTemporalDuration(_years_, _months_, _weeks_, 0, 0, 0, 0, 0, 0, 0). 11: 12. Let _later_ be ? CalendarDateAdd(_calendaRec_, _plainRelativeTo_, _yearsMonthsWeeksDuration_). 12: 13. Let _yearsMonthsWeeksInDays_ be DaysUntil(_plainRelativeTo_, _later_). 13: 14. Return ? CreateDateDurationRecord(0, 0, 0, _days_ + _yearsMonthsWeeksInDays_). 14: ---*/ 15: 16: // Based on a test case by André Bargull <andre.bargull@gmail.com> 17: 18: const relativeTo = new Temporal.PlainDate(2000, 1, 1); 19: const zero = new Temporal.Duration(); 20: 21: const instance = new Temporal.Duration(0, 0, /* weeks = */ 1, /* days = */ Math.trunc((2 ** 53) / 86_400)); 22: assert.throws(RangeError, () => Temporal.Duration.compare(instance, zero, {relativeTo}), "weeks + days out of range, positive, first argument"); 23: assert.throws(RangeError, () => Temporal.Duration.compare(zero, instance, {relativeTo}), "weeks + days out of range, positive, second argument"); 24: 25: const negInstance = new Temporal.Duration(0, 0, /* weeks = */ -1, /* days = */ -Math.trunc((2 ** 53) / 86_400)); 26: assert.throws(RangeError, () => Temporal.Duration.compare(negInstance, zero, {relativeTo}), "weeks + days out of range, negative, first argument"); 27: assert.throws(RangeError, () => Temporal.Duration.compare(zero, negInstance, {relativeTo}), "weeks + days out of range, negative, second argument"); 28:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js:20:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in D:\a\jint\jint\Jint\Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in D:\a\jint\jint\Jint.Tests.Test262\Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in D:\a\jint\jint\Jint.Tests.Test262\Generated\Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 08: features: [Temporal] 09: ---*/ 10: 11: const instance_1 = new Temporal.Duration(1); 12: const instance_2 = new Temporal.Duration(2); 13: 14: const invalidStrings = [ 15: ["", "empty string"], 16: ["1997-12-04[u-ca=notacal]", "Unknown calendar"], 17: ]; 18: 19: for (const [arg, description] of invalidStrings) { 20: assert.throws( 21: RangeError, 22: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 23: `${description} is not a valid calendar ID` 24: ); 25: } 26: 27:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: Unknown calendar is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-string-calendar-invalid-iso-string.js:19:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in D:\a\jint\jint\Jint\Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in D:\a\jint\jint\Jint.Tests.Test262\Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in D:\a\jint\jint\Jint.Tests.Test262\Generated\Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 07: features: [Temporal] 08: ---*/ 09: 10: const instance_1 = new Temporal.Duration(1); 11: const instance_2 = new Temporal.Duration(2); 12: 13: const invalidStrings = [ 14: ["", "empty string"], 15: ["1997-12-04[u-ca=notacal]", "Unknown calendar"], 16: ]; 17: 18: for (const [arg, description] of invalidStrings) { 19: assert.throws( 20: RangeError, 21: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 22: `${description} is not a valid calendar ID` 23: ); 24: } 25: 26:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-hour.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-hour.js Jint.Runtime.JavaScriptException: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true ---> Error: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true at assert.sameValue (harness/assert.js:49:9) at built-ins/Temporal/Duration/compare/relativeto-hour.js:16:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in D:\a\jint\jint\Jint\Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in D:\a\jint\jint\Jint.Tests.Test262\Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in D:\a\jint\jint\Jint.Tests.Test262\Generated\Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2022 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: relativeTo with hours. 08: features: [Temporal] 09: ---*/ 10: 11: const oneDay = new Temporal.Duration(0, 0, 0, 1); 12: const hours24 = new Temporal.Duration(0, 0, 0, 0, 24); 13: assert.sameValue(Temporal.Duration.compare(oneDay, hours24), 14: 0, 15: "relativeTo not required for days"); 16: assert.sameValue( 17: Temporal.Duration.compare(oneDay, hours24, { relativeTo: Temporal.PlainDate.from("2017-01-01") }), 18: 0, 19: "relativeTo does not affect days if PlainDate"); 20: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: "2019-11-03" }), 21: 0, 22: "casts relativeTo to PlainDate from string"); 23: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: { year: 2019, month: 11, day: 3 } }), 24: 0, 25: "casts relativeTo to PlainDate from object"); 26:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-hour.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-hour.js Jint.Runtime.JavaScriptException: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true ---> Error: relativeTo does not affect days if PlainDate Expected SameValue(«-1», «0») to be true at assert.sameValue (harness/assert.js:49:9) at built-ins/Temporal/Duration/compare/relativeto-hour.js:15:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in D:\a\jint\jint\Jint\Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in D:\a\jint\jint\Jint.Tests.Test262\Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in D:\a\jint\jint\Jint.Tests.Test262\Generated\Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2022 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: relativeTo with hours. 07: features: [Temporal] 08: ---*/ 09: 10: const oneDay = new Temporal.Duration(0, 0, 0, 1); 11: const hours24 = new Temporal.Duration(0, 0, 0, 0, 24); 12: assert.sameValue(Temporal.Duration.compare(oneDay, hours24), 13: 0, 14: "relativeTo not required for days"); 15: assert.sameValue( 16: Temporal.Duration.compare(oneDay, hours24, { relativeTo: Temporal.PlainDate.from("2017-01-01") }), 17: 0, 18: "relativeTo does not affect days if PlainDate"); 19: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: "2019-11-03" }), 20: 0, 21: "casts relativeTo to PlainDate from string"); 22: assert.sameValue(Temporal.Duration.compare(oneDay, hours24, { relativeTo: { year: 2019, month: 11, day: 3 } }), 23: 0, 24: "casts relativeTo to PlainDate from object"); 25:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js:21:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in D:\a\jint\jint\Jint\Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in D:\a\jint\jint\Jint.Tests.Test262\Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in D:\a\jint\jint\Jint.Tests.Test262\Generated\Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 08: features: [Temporal] 09: ---*/ 10: 11: const instance_1 = new Temporal.Duration(1); 12: const instance_2 = new Temporal.Duration(2); 13: 14: const invalidStrings = [ 15: ["", "empty string"], 16: ["notacal", "Unknown calendar"], 17: ]; 18: 19: for (const [cal, description] of invalidStrings) { 20: const arg = { year: 2019, monthCode: "M11", day: 1, calendar: cal }; 21: assert.throws( 22: RangeError, 23: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 24: `${description} is not a valid calendar ID` 25: ); 26: } 27:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js Jint.Runtime.JavaScriptException: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all ---> Error: empty string is not a valid calendar ID Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/relativeto-argument-propertybag-calendar-invalid-iso-string.js:20:3 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in D:\a\jint\jint\Jint\Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in D:\a\jint\jint\Jint.Tests.Test262\Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in D:\a\jint\jint\Jint.Tests.Test262\Generated\Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2025 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: Invalid ISO string as calendar in relativeTo option should throw RangeError 07: features: [Temporal] 08: ---*/ 09: 10: const instance_1 = new Temporal.Duration(1); 11: const instance_2 = new Temporal.Duration(2); 12: 13: const invalidStrings = [ 14: ["", "empty string"], 15: ["notacal", "Unknown calendar"], 16: ]; 17: 18: for (const [cal, description] of invalidStrings) { 19: const arg = { year: 2019, monthCode: "M11", day: 1, calendar: cal }; 20: assert.throws( 21: RangeError, 22: () => Temporal.Duration.compare(instance_1, instance_2, { relativeTo: arg }), 23: `${description} is not a valid calendar ID` 24: ); 25: } 26:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/order-of-operations.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/order-of-operations.js Jint.Runtime.JavaScriptException: Actual [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.timeZone, get options.relativeTo.day, get options.relativeTo.month, get options.relativeTo.monthCode, get options.relativeTo.year, get options.relativeTo.hour, get options.relativeTo.minute, get options.relativeTo.second, get options.relativeTo.millisecond, get options.relativeTo.microsecond, get options.relativeTo.nanosecond, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get options.relativeTo.year.valueOf, call options.relativeTo.year.valueOf] and expected [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.calendar, get options.relativeTo.day, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.hour, get options.relativeTo.microsecond, get options.relativeTo.millisecond, get options.relativeTo.minute, get options.relativeTo.month, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js Jint.Runtime.JavaScriptException: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all ---> Error: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js:23:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in D:\a\jint\jint\Jint\Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in D:\a\jint\jint\Jint.Tests.Test262\Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in D:\a\jint\jint\Jint.Tests.Test262\Generated\Tests262Harness.Test262Test.generated.cs:line 77 01: "use strict"; 02: // Copyright (C) 2024 Igalia, S.L. All rights reserved. 03: // This code is governed by the BSD license found in the LICENSE file. 04: 05: /*--- 06: esid: sec-temporal.duration.compare 07: description: RangeError thrown when calendar part of duration added to relativeTo is out of range 08: features: [Temporal] 09: info: | 10: UnbalanceDateDurationRelative: 11: 11. Let _yearsMonthsWeeksDuration_ be ! CreateTemporalDuration(_years_, _months_, _weeks_, 0, 0, 0, 0, 0, 0, 0). 12: 12. Let _later_ be ? CalendarDateAdd(_calendaRec_, _plainRelativeTo_, _yearsMonthsWeeksDuration_). 13: 13. Let _yearsMonthsWeeksInDays_ be DaysUntil(_plainRelativeTo_, _later_). 14: 14. Return ? CreateDateDurationRecord(0, 0, 0, _days_ + _yearsMonthsWeeksInDays_). 15: ---*/ 16: 17: // Based on a test case by André Bargull <andre.bargull@gmail.com> 18: 19: const relativeTo = new Temporal.PlainDate(2000, 1, 1); 20: const zero = new Temporal.Duration(); 21: 22: const instance = new Temporal.Duration(0, 0, /* weeks = */ 1, /* days = */ Math.trunc((2 ** 53) / 86_400)); 23: assert.throws(RangeError, () => Temporal.Duration.compare(instance, zero, {relativeTo}), "weeks + days out of range, positive, first argument"); 24: assert.throws(RangeError, () => Temporal.Duration.compare(zero, instance, {relativeTo}), "weeks + days out of range, positive, second argument"); 25: 26: const negInstance = new Temporal.Duration(0, 0, /* weeks = */ -1, /* days = */ -Math.trunc((2 ** 53) / 86_400)); 27: assert.throws(RangeError, () => Temporal.Duration.compare(negInstance, zero, {relativeTo}), "weeks + days out of range, negative, first argument"); 28: assert.throws(RangeError, () => Temporal.Duration.compare(zero, negInstance, {relativeTo}), "weeks + days out of range, negative, second argument"); 29:
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/order-of-operations.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/order-of-operations.js Jint.Runtime.JavaScriptException: Actual [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.timeZone, get options.relativeTo.day, get options.relativeTo.month, get options.relativeTo.monthCode, get options.relativeTo.year, get options.relativeTo.hour, get options.relativeTo.minute, get options.relativeTo.second, get options.relativeTo.millisecond, get options.relativeTo.microsecond, get options.relativeTo.nanosecond, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get options.relativeTo.year.valueOf, call options.relativeTo.year.valueOf] and expected [get one.days, get one.days.valueOf, call one.days.valueOf, get one.hours, get one.hours.valueOf, call one.hours.valueOf, get one.microseconds, get one.microseconds.valueOf, call one.microseconds.valueOf, get one.milliseconds, get one.milliseconds.valueOf, call one.milliseconds.valueOf, get one.minutes, get one.minutes.valueOf, call one.minutes.valueOf, get one.months, get one.months.valueOf, call one.months.valueOf, get one.nanoseconds, get one.nanoseconds.valueOf, call one.nanoseconds.valueOf, get one.seconds, get one.seconds.valueOf, call one.seconds.valueOf, get one.weeks, get one.weeks.valueOf, call one.weeks.valueOf, get one.years, get one.years.valueOf, call one.years.valueOf, get two.days, get two.days.valueOf, call two.days.valueOf, get two.hours, get two.hours.valueOf, call two.hours.valueOf, get two.microseconds, get two.microseconds.valueOf, call two.microseconds.valueOf, get two.milliseconds, get two.milliseconds.valueOf, call two.milliseconds.valueOf, get two.minutes, get two.minutes.valueOf, call two.minutes.valueOf, get two.months, get two.months.valueOf, call two.months.valueOf, get two.nanoseconds, get two.nanoseconds.valueOf, call two.nanoseconds.valueOf, get two.seconds, get two.seconds.valueOf, call two.seconds.valueOf, get two.weeks, get two.weeks.valueOf, call two.weeks.valueOf, get two.years, get two.years.valueOf, call two.years.valueOf, get options.relativeTo, get options.relativeTo.calendar, get options.relativeTo.day, get options.relativeTo.day.valueOf, call options.relativeTo.day.valueOf, get options.relativeTo.hour, get options.relativeTo.microsecond, get options.relativeTo.millisecond, get options.relativeTo.minute, get options.relativeTo.month, get options.relativeTo.month.valueOf, call options.relativeTo.month.valueOf, get options.relativeTo.monthCode, get options.relativeTo.monthCode.toString, call options.relativeTo.monthCode.toString, get
Temporal_Duration_compare("built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js": Jint.Tests.Test262/Generated/Tests262Harness.Tests.built-ins.generated.cs#L33793
built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js Jint.Runtime.JavaScriptException: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all ---> Error: weeks + days out of range, positive, first argument Expected a RangeError to be thrown but no exception was thrown at all at assert.throws (harness/assert.js:101:9) at built-ins/Temporal/Duration/compare/duration-out-of-range-added-to-relativeto.js:22:1 --- End of inner exception stack trace --- at Jint.Engine.ScriptEvaluation(ScriptRecord scriptRecord, ParserOptions parserOptions) in D:\a\jint\jint\Jint\Engine.cs:line 459 at Jint.Tests.Test262.Test262Test.ExecuteTest(Engine engine, Test262File file) in D:\a\jint\jint\Jint.Tests.Test262\Test262Test.cs:line 165 at Jint.Tests.Test262.Test262Test.RunTestCode(String test, Boolean strict) in D:\a\jint\jint\Jint.Tests.Test262\Generated\Tests262Harness.Test262Test.generated.cs:line 77 01: // Copyright (C) 2024 Igalia, S.L. All rights reserved. 02: // This code is governed by the BSD license found in the LICENSE file. 03: 04: /*--- 05: esid: sec-temporal.duration.compare 06: description: RangeError thrown when calendar part of duration added to relativeTo is out of range 07: features: [Temporal] 08: info: | 09: UnbalanceDateDurationRelative: 10: 11. Let _yearsMonthsWeeksDuration_ be ! CreateTemporalDuration(_years_, _months_, _weeks_, 0, 0, 0, 0, 0, 0, 0). 11: 12. Let _later_ be ? CalendarDateAdd(_calendaRec_, _plainRelativeTo_, _yearsMonthsWeeksDuration_). 12: 13. Let _yearsMonthsWeeksInDays_ be DaysUntil(_plainRelativeTo_, _later_). 13: 14. Return ? CreateDateDurationRecord(0, 0, 0, _days_ + _yearsMonthsWeeksInDays_). 14: ---*/ 15: 16: // Based on a test case by André Bargull <andre.bargull@gmail.com> 17: 18: const relativeTo = new Temporal.PlainDate(2000, 1, 1); 19: const zero = new Temporal.Duration(); 20: 21: const instance = new Temporal.Duration(0, 0, /* weeks = */ 1, /* days = */ Math.trunc((2 ** 53) / 86_400)); 22: assert.throws(RangeError, () => Temporal.Duration.compare(instance, zero, {relativeTo}), "weeks + days out of range, positive, first argument"); 23: assert.throws(RangeError, () => Temporal.Duration.compare(zero, instance, {relativeTo}), "weeks + days out of range, positive, second argument"); 24: 25: const negInstance = new Temporal.Duration(0, 0, /* weeks = */ -1, /* days = */ -Math.trunc((2 ** 53) / 86_400)); 26: assert.throws(RangeError, () => Temporal.Duration.compare(negInstance, zero, {relativeTo}), "weeks + days out of range, negative, first argument"); 27: assert.throws(RangeError, () => Temporal.Duration.compare(zero, negInstance, {relativeTo}), "weeks + days out of range, negative, second argument"); 28: