My working unpac space for OCaml projects in development
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Temporal: Add coverage for relativeTo parameter at extremes

For duration round and total, add tests that the maximum and minimum
possible date values can be used as a PlainDate or ZonedDateTime
value for the `relativeTo` parameter.

authored by

Tim Chevalier and committed by
Ms2ger
39266bc7 75a498d3

+149
+75
vendor/git/test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-date-limits.js
··· 1 + // Copyright (C) 2022 Igalia, S.L. All rights reserved. 2 + // This code is governed by the BSD license found in the LICENSE file. 3 + 4 + /*--- 5 + esid: sec-temporal.duration.prototype.round 6 + description: Maximum and minimum dates can be used as relativeTo parameter 7 + includes: [temporalHelpers.js] 8 + features: [Temporal] 9 + ---*/ 10 + 11 + const instance = new Temporal.Duration(0); 12 + 13 + let relativeTo = '-271821-04-19'; 14 + const result1 = instance.round({ largestUnit: "years", relativeTo }); 15 + TemporalHelpers.assertDuration( 16 + result1, 17 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18 + "minimum date is a valid ISO string for PlainDate relativeTo" 19 + ); 20 + 21 + relativeTo = "-271821-04-20T00:00+00:00[UTC]"; 22 + const result2 = instance.round({ largestUnit: "years", relativeTo }); 23 + TemporalHelpers.assertDuration( 24 + result2, 25 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26 + "minimum date is a valid ISO string for ZonedDateTime relativeTo" 27 + ); 28 + 29 + relativeTo = "+275760-09-13"; 30 + const result3 = instance.round({ largestUnit: "years", relativeTo }); 31 + TemporalHelpers.assertDuration( 32 + result3, 33 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34 + "maximum date is a valid ISO string for PlainDateTime relativeTo" 35 + ); 36 + 37 + relativeTo = "+275760-09-12T23:59:60+00:00[UTC]"; 38 + const result4 = instance.round({ largestUnit: "years", relativeTo }); 39 + TemporalHelpers.assertDuration( 40 + result4, 41 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42 + "maximum date is a valid ISO string for ZonedDateTime relativeTo" 43 + ); 44 + 45 + relativeTo = { year: -271821, month: 4, day: 19 }; 46 + const result5 = instance.round({ largestUnit: "years", relativeTo }); 47 + TemporalHelpers.assertDuration( 48 + result5, 49 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50 + "maximum date is valid in a property bag for PlainDateTime relativeTo" 51 + ); 52 + 53 + relativeTo = { year: 275760, month: 9, day: 13 }; 54 + const result6 = instance.round({ largestUnit: "years", relativeTo }); 55 + TemporalHelpers.assertDuration( 56 + result6, 57 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58 + "maximum date is valid in a property bag for PlainDateTime relativeTo" 59 + ); 60 + 61 + relativeTo = { year: -271821, month: 4, day: 20, hour: 0, minute: 0, second: 0 }; 62 + const result7 = instance.round({ largestUnit: "years", relativeTo }); 63 + TemporalHelpers.assertDuration( 64 + result7, 65 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66 + "minimum date is valid in a property bag for ZonedDateTime relativeTo" 67 + ); 68 + 69 + relativeTo = { year: 275760, month: 9, day: 12, hour: 23, minute: 59, second: 60, timeZone: "UTC" }; 70 + const result8 = instance.round({ largestUnit: "years", relativeTo }); 71 + TemporalHelpers.assertDuration( 72 + result8, 73 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74 + "maximum date is valid in a property bag for ZonedDateTime relativeTo" 75 + );
+74
vendor/git/test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-date-limits.js
··· 1 + // Copyright (C) 2022 Igalia, S.L. All rights reserved. 2 + // This code is governed by the BSD license found in the LICENSE file. 3 + 4 + /*--- 5 + esid: sec-temporal.duration.prototype.total 6 + description: Maximum and minimum dates can be used as relativeTo parameter 7 + features: [Temporal] 8 + ---*/ 9 + 10 + const instance = new Temporal.Duration(0); 11 + 12 + let relativeTo = '-271821-04-19'; 13 + const result1 = instance.total({ unit: "days", relativeTo }); 14 + assert.sameValue( 15 + result1, 16 + 0, 17 + "minimum date is a valid ISO string for PlainDate relativeTo" 18 + ); 19 + 20 + relativeTo = "-271821-04-20T00:00+00:00[UTC]"; 21 + const result2 = instance.total({ unit: "days", relativeTo }); 22 + assert.sameValue( 23 + result2, 24 + 0, 25 + "minimum date is a valid ISO string for ZonedDateTime relativeTo" 26 + ); 27 + 28 + relativeTo = "+275760-09-13"; 29 + const result3 = instance.total({ unit: "days", relativeTo }); 30 + assert.sameValue( 31 + result3, 32 + 0, 33 + "maximum date is a valid ISO string for PlainDateTime relativeTo" 34 + ); 35 + 36 + relativeTo = "+275760-09-12T23:59:60+00:00[UTC]"; 37 + const result4 = instance.total({ unit: "days", relativeTo }); 38 + assert.sameValue( 39 + result4, 40 + 0, 41 + "maximum date is a valid ISO string for ZonedDateTime relativeTo" 42 + ); 43 + 44 + relativeTo = { year: -271821, month: 4, day: 19 }; 45 + const result5 = instance.total({ unit: "days", relativeTo }); 46 + assert.sameValue( 47 + result5, 48 + 0, 49 + "maximum date is valid in a property bag for PlainDateTime relativeTo" 50 + ); 51 + 52 + relativeTo = { year: 275760, month: 9, day: 13 }; 53 + const result6 = instance.total({ unit: "days", relativeTo }); 54 + assert.sameValue( 55 + result6, 56 + 0, 57 + "maximum date is valid in a property bag for PlainDateTime relativeTo" 58 + ); 59 + 60 + relativeTo = { year: -271821, month: 4, day: 20, hour: 0, minute: 0, second: 0 }; 61 + const result7 = instance.total({ unit: "days", relativeTo }); 62 + assert.sameValue( 63 + result7, 64 + 0, 65 + "minimum date is valid in a property bag for ZonedDateTime relativeTo" 66 + ); 67 + 68 + relativeTo = { year: 275760, month: 9, day: 12, hour: 23, minute: 59, second: 60, timeZone: "UTC" }; 69 + const result8 = instance.total({ unit: "days", relativeTo }); 70 + assert.sameValue( 71 + result8, 72 + 0, 73 + "maximum date is valid in a property bag for ZonedDateTime relativeTo" 74 + );