578 Commits

Author SHA1 Message Date
brageh01
443f0d2e7f
Temporal: Reorganize calendar and wrong-type tests (#4415)
Changes made to:

- PlainDate
- PlainYearMonth
- ZonedDateTime
- PlainDateTime
- PlainMonthDay

Merged calendar-number.js and calendar-wrong-type.js, due to no special behaviour of number to be tested.

Extracted string tests to calendar-iso-string.js and renamed the file to calendar-invalid-iso-string.js, due to the contents of the file initially testing invalid ISO strings.

Closes #3873
2025-04-23 16:04:15 -07:00
Philip Chimento
c3c318cf11 Temporal: Add coverage for weird PlainMonthDay leap day constrain case
If you have a leap day, such as February 29, and you get input such as
{ monthCode: "M02", day: 30 }, { overflow: "constrain" }, then you want
the day to be constrained to the leap day February 29, not February 28
as the maximum day would be in a common year. Add tests for this case
for each supported calendar.
2025-04-21 10:06:18 -07:00
Philip Chimento
7708262a21 Update ESIDs of Temporal.*.prototype properties
These ESIDs were updated to use dots instead of dashes, to be more
consistent with the ESIDs of other properties.
2025-03-14 09:26:47 +01:00
Tim Chevalier
0c2144e3e6 Temporal: Fix missing close quotation mark in error message 2025-03-12 15:33:09 -07:00
Tim Chevalier
3f65b0209d Temporal: Fix error message in test 2025-03-10 14:32:17 -07:00
Brage Hogstad
26db872ca7 Moved generic era and eraYear tests from intl402/Temporal to built-ins/Temporal 2025-02-12 11:36:45 -08:00
André Bargull
2ea91c02d0 Temporal: Coverage for Temporal.Duration 2025-01-09 16:33:51 -08:00
André Bargull
4aa9379068 Temporal: Coverage for Temporal.ZonedDateTime 2025-01-09 16:33:51 -08:00
André Bargull
4ceee16fff Temporal: Coverage for Temporal.PlainDateTime 2025-01-09 16:33:51 -08:00
André Bargull
22539853cd Temporal: Coverage for Temporal.PlainDate 2025-01-09 16:33:51 -08:00
André Bargull
934563c6c4 Temporal: Coverage for Temporal.Instant 2025-01-09 16:33:51 -08:00
André Bargull
fef2f1cf61 Temporal: Coverage for Temporal.PlainTime 2025-01-09 16:33:51 -08:00
André Bargull
7bc853660a Temporal: Coverage for Temporal.PlainYearMonth 2025-01-09 16:33:51 -08:00
André Bargull
6d69685a48 Temporal: Coverage for Temporal.PlainMonthDay 2025-01-09 16:33:51 -08:00
Philip Chimento
eefc5cf367 Temporal: Improve coverage of relativeto-string-limits tests
These tests did not fully cover Temporal.Duration.prototype.round and
Temporal.Duration.prototype.total because they called those methods on a
blank duration (all components zero), for which there is an early return
in round() and total().

This meant that we missed an assertion that would be hit after the early
return.

This makes sure to test both blank and non-blank Durations with these
relativeTo strings, and expect some strings to fail at different steps
with the two cases.

See: tc39/proposal-temporal#3015
2024-12-05 15:02:50 +01:00
Tim Chevalier
901dd6e920
Temporal: Add test for balancing up to weeks when year/month are present (#4305)
See tc39/proposal-temporal#2813
2024-12-03 14:08:20 -08:00
André Bargull
fd979d85d4 Fix strict mode error 2024-11-19 17:02:40 +01:00
Tim Chevalier
b2809feedf
Temporal: Add test for Duration/p/toString() with total time units out of range (#4313) 2024-11-06 16:47:58 +01:00
Tim Chevalier
01eb47d4f2 Add tests for adding negative durations to/subtracting durations from the last representable year/month of the ISO calendar
See https://github.com/tc39/proposal-temporal/issues/3029
2024-11-01 12:57:28 -07:00
Tim Chevalier
b7822bb0b8
Temporal: Move tests for ZonedDateTime/p/{since, until} out of staging (#4293)
Co-authored-by: Philip Chimento <philip.chimento@gmail.com>
2024-11-01 11:02:32 -07:00
Tim Chevalier
ccf8977b1c Temporal: Split up ZonedDateTime/old/string-parsing.js and move out of staging 2024-10-31 16:05:30 -07:00
Tim Chevalier
8cc0560713
Temporal: Move all tests out of ZonedDateTime/old/with.js under staging into separate files under test/built-ins (#4297)
Co-authored-by: Philip Chimento <philip.chimento@gmail.com>
2024-10-31 13:34:57 -07:00
Tim Chevalier
0f6b269400 Temporal: Move ZonedDateTime order-of-operations tests out of staging 2024-10-31 13:13:20 -07:00
Tim Chevalier
bf46ed66b6 Temporal: move tests for ZonedDateTime/p/{toInstant, toPlainDate, toPlainTime, toString} 2024-10-31 13:08:38 -07:00
Tim Chevalier
7a4426e2b2 Temporal: Move remaining tests from Temporal/ZonedDateTime/old under staging into separate files under test/built-ins
Includes withPlainDateTime and withTimeZone
2024-10-31 11:58:25 -07:00
Tim Chevalier
de68177f59 Temporal: Move ZonedDateTime/prototype/round tests and one other ZonedDateTime test out of staging 2024-10-30 17:58:43 -07:00
Tim Chevalier
70ef1acd1c Fix test for required properties 2024-10-30 17:18:26 -07:00
Tim Chevalier
7fb465496f Feedback from code review 2024-10-30 17:18:26 -07:00
Tim Chevalier
d2d84950c3 Update test/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-invalid-offset-string.js
Co-authored-by: Philip Chimento <philip.chimento@gmail.com>
2024-10-30 17:18:26 -07:00
Tim Chevalier
a93fe76f52 Temporal: Move ZonedDateTime property bag tests out of staging 2024-10-30 17:18:26 -07:00
Tim Chevalier
87344d96f2 Feedback from code review 2024-10-30 17:03:46 -07:00
Tim Chevalier
bfb957f669 Temporal: Move more ZonedDateTime tests out of staging 2024-10-30 17:03:46 -07:00
Tim Chevalier
5505758111
Temporal: Fix Temporal/Duration/p/round tests (#4299) 2024-10-30 16:45:28 -07:00
Tim Chevalier
85934bf49c
Temporal: Move tests for ZonedDateTime/p/{add, subtract} out of staging into test/built-ins (#4287) 2024-10-30 16:20:09 -07:00
Tim Chevalier
01dbd4db41 Temporal: Move tests for ZonedDateTime/compare out of staging into test/built-ins 2024-10-30 15:58:23 -07:00
Tim Chevalier
3f2486e37f
Move all tests from staging/Temporal/Instant/old to test/built-ins/Temporal/Instant (#4282)
* Temporal: Move all tests from staging/Temporal/Instant/old to test/built-ins/Temporal/instant
2024-10-30 14:29:02 -07:00
Tim Chevalier
f178db57fe
Temporal: Move all tests out of total.js under staging into separate files under test/built-ins (#4281)
* Temporal: Move most tests out of total.js under staging into separate files under test/built-ins

Co-authored-by: Philip Chimento <philip.chimento@gmail.com>
2024-10-30 11:44:59 -07:00
Tim Chevalier
713ddf66e0
Temporal: Move some tests out of round.js under staging into separate files under test/built-ins (#4280)
Co-authored-by: Philip Chimento <philip.chimento@gmail.com>
2024-10-30 11:32:37 -07:00
Tim Chevalier
b8c29a05b5 Temporal: Move tests out of staging/Temporal/Duration/old and into test/built-ins 2024-10-28 12:41:47 -07:00
Philip Chimento
459cef7185 Temporal: Add coverage for validating offset string syntax vs suitability
Syntax is validated first. Only after the property bag is fully converted
into a Calendar Fields Record does the time zone validate whether the UTC
offset is correct for that exact time in the time zone.

See tc39/proposal-temporal#2962
2024-10-07 12:02:45 +02:00
Philip Chimento
6dced5dead Temporal: Add coverage for validating month code syntax vs suitability
Syntax is validated first. Only after the property bag is fully converted
into a Calendar Fields Record does the calendar validate whether the month
code actually exists in the year.

See tc39/proposal-temporal#2962
2024-10-07 12:02:45 +02:00
Philip Chimento
09c7d33253 Temporal: Add coverage for disallowed seconds in offset time zone identifiers
This was an area missing test coverage.
2024-10-07 12:02:45 +02:00
Philip Chimento
f4a987fe3c Temporal: Additional tests for cases where date addition goes out of range
See tc39/proposal-temporal#2985
2024-10-03 12:14:41 +02:00
Philip Chimento
326cdb8da8 Temporal: Consistently test all string entry points for representable range
Remove the existing "instant-string-limits.js" that only applied to APIs
where ToTemporalInstant was called. Add "argument-string-limits.js" tests
everywhere ISO strings are converted.

Related to tc39/proposal-temporal#2985
2024-10-03 12:14:41 +02:00
Philip Chimento
116bc2cc47 Temporal: Move UTC offset ±24:00 into invalid string tests
It was in the "limits of representable range" tests, but it is invalid
syntax, so it belongs somewhere else.
2024-10-03 12:14:41 +02:00
Philip Chimento
c93ae0ac2f Temporal: Tests for disallowed corner case in rounding durations
This test covers a normative change to disallow an ambiguous corner case
in the options bag for Temporal.Duration.prototype.round().

See https://github.com/tc39/proposal-temporal/pull/2916
2024-09-05 15:08:08 -07:00
Philip Chimento
ea11e0e787 Temporal: Further coverage and tweaks for removing Calendar/TimeZone objs
Tweak some tests to provide coverage of new execution paths in the spec,
such as calling GetOptionsObject inside ToTemporal___; add a few new tests
for things that weren't covered before, such as rounding a PlainDateTime
at the edge of the range; and tweak the tests verifying when the
properties of the options bag are read, which I made a mistake in #4119.

See: https://github.com/tc39/proposal-temporal/pull/2925
2024-08-22 14:00:43 -07:00
Philip Chimento
cb4a6c8074 Temporal: Add a test for a coverage gap in Duration.prototype.round
See https://github.com/tc39/proposal-temporal/issues/2919; this adds test
coverage that would have caught an unintentional normative change.
2024-08-15 10:26:58 +02:00
André Bargull
507c28b3f9 Fix strict mode errors 2024-07-10 13:57:33 +02:00
Philip Chimento
3a7a72aef5 Temporal: Add tests for conversion of calendar and time zone IDs in constructors
Now that we don't have to deal with strings or objects as input to the
calendar ID or time zone ID parameter of constructors, we accept only the
data that actually goes into the internal slots.
2024-07-05 10:43:53 +02:00