5784 Commits

Author SHA1 Message Date
Ms2ger
6573cf954b Temporal: Add tests that subclass constructors work. 2022-05-25 11:23:22 -07:00
Ms2ger
2c8e4c061b Temporal: Cleanup some tests.
The options-invalid.js tests were also covered by options-wrong-type.js.

The tests for add/subtract without an options argument were also covered by options-undefined.js.
2022-05-25 11:10:04 -07:00
Romulo Cintra
406ec000f2
Tests combinations max-min fractionDigits and Significant digits (#3515)
NumberFormat v3
2022-05-25 10:50:46 -07:00
Ms2ger
63cf9ba7b5 Temporal: Extend tests for daysInYear and inLeapYear. 2022-05-24 10:56:45 -07:00
Philip Chimento
579268ab79 Temporal: Add tests for variant time separators
ISO strings may separate the time from the date with a case-insensitive T,
or a space. This adds tests to all entry points that take ISO strings, to
ensure that they accept an uppercase T, lowercase T, or space as the time
separator.

These tests are based on the one test for Temporal.PlainDateTime.from that
was already present.
2022-05-23 11:47:56 +02:00
Ms2ger
7fca6637e9 Temporal: Extend toJSON/toString tests. 2022-05-20 09:32:52 -07:00
Ms2ger
2de2fe3084 Temporal: Ensure PlainTime branding tests fail if needed. 2022-05-20 14:20:43 +02:00
Ms2ger
7960d616cf Temporal: Add a test for PlainTime#toZonedDateTime. 2022-05-19 12:55:27 -07:00
Ms2ger
a1a5c91543 Temporal: Add a test for PlainTime#calendar. 2022-05-19 12:54:14 -07:00
Ms2ger
b8ab7063b0 Temporal: Add tests for PlainTime#{toJSON/toString}. 2022-05-19 12:23:43 -07:00
Ms2ger
912559f683 Temporal: Test @@toStringTag properties. 2022-05-19 12:20:15 -07:00
Ms2ger
494b678cc5 Temporal: Add tests for ZonedDateTime to PlainDate conversion.
Also rename leap second tests for consistency.
2022-05-18 12:35:07 -07:00
legendecas
6f8e0f67ca Decorators: add initial tests on class 2022-05-18 09:49:49 -04:00
Chengzhong Wu
509363bcfd
Add test on handling broken promises in AsyncGenerator.prototype.return (#3472)
* Add test on handling broken promises in AsyncGenerator.prototype.return

* fixup!

* fixup!
2022-05-12 14:28:33 -04:00
legendecas
2e7cdfbe18 Fix generator clean fail on .DS_Store 2022-05-05 17:03:58 -04:00
legendecas
d6b5b1358c ShadowRealm: exportName is no longer be coerced to a string 2022-05-05 17:03:33 -04:00
Keith Miller
b409843612 Update S12.6.4_A7_T2.js
This test currently has some tabs. Clean this up and make them spaces instead.
2022-05-05 10:19:37 -07:00
Jordan Harband
00263bf90f add missing Reflect.construct feature 2022-05-05 17:13:25 +02:00
Philip Chimento
2a03068b84 Fix Temporal.PlainDateTime.withPlainDate tests
I suggested in #3517 that these lines should be removed but didn't realize
they must be present because TemporalHelpers.assertPlainDateTime is going
to check the 'era' and 'eraYear' properties.
2022-05-05 09:51:01 +02:00
Shane F. Carr
0a48029333
Fix Intl.NumberFormat roundingPriority test to reflect default values for min/max digits (#3506) 2022-05-04 11:31:56 -07:00
Mathias Bynens
997888324e Add missing binding 2022-05-04 07:57:38 -07:00
Philip Chimento
a44a97a09a Add reference ISO days to PlainYearMonth assertions
I missed adding these in 27f0104bc65693959d85c0bdb41a4937e796abba
2022-05-04 10:15:19 +02:00
Frank Yung-Fong Tang
06fafd794b
Move testing of era/eraYear under intl402 (#3517)
* Move testing of era/eraYear under intl402

* remove era/eraYear from built-in tests.
2022-05-03 11:11:20 -07:00
Romulo Cintra
28455b13f5
Intl.DurationFormat update coverage (#3501)
* constructor tests coverage
* add localeMatcher tests
* add styles and numbering system tests
* re-organize folder and files structure
2022-05-03 08:19:32 -07:00
Ms2ger
7099acc882 Temporal: Add some tests for Duration#round.
Co-authored-by: Philip Chimento <philip.chimento@gmail.com>
2022-05-03 08:15:56 -07:00
Ms2ger
69fd39b463 Temporal: Add some Duration#{add,subtract} tests. 2022-05-03 08:15:56 -07:00
Philip Chimento
8e0e2592d3 Expand Duration.compare test
This adds coverage for the situation where we get a different answer from
Temporal.Duration.compare depending on whether relativeTo resolves to a
PlainDate or ZonedDateTime.

See discussion in
https://github.com/tc39/test262/pull/3505#discussion_r859994610
2022-05-03 08:18:02 +02:00
Philip Chimento
65a7ace1cb Regularize year zero tests
Some of these strings wouldn't have been valid even with a valid year in
them (e.g. strings ending in +01:00[UTC]) so fix up the strings that we
test. While touching these tests, I took the opportunity to regularize
them, and add some missing ones for ISO strings that convert to Calendar
and TimeZone.
2022-05-03 08:18:02 +02:00
Philip Chimento
020faf5c7a Temporal: fix property bag order
No big deal, this was just bothering me that I wrote timeZone before
calendar in most of the tests, and vice versa in only a few.
2022-05-03 08:18:02 +02:00
Philip Chimento
88a4cf4af7 Temporal: Use some constructors directly
Be consistent about creating Temporal objects for use in tests with direct
constructor calls, instead of relying on string coercions. This reduces
coupling in the tests.
2022-05-03 08:18:02 +02:00
Philip Chimento
078f3e22a4 Regularize leap second tests
Everywhere an ISO string is accepted in Temporal, a seconds value of :60
should always be coerced to :59, because of how leap seconds are handled
in ISO strings.

In property bags, a 'seconds: 60' property is not subject to that rule: it
should be handled according to the overflow option if there is one.

These tests existed already for some types; regularize them and add the
ones that didn't exist yet.
2022-05-03 08:18:02 +02:00
Philip Chimento
27f0104bc6 Regularize Temporal.*.from() object cloning tests
Each from() method except Calendar and TimeZone should test that when you
pass an instance of that type, the return value is a clone of that
instance, and a distinct object.

These tests existed already for some types; regularize them and add the
ones that didn't exist yet.

In order to test the referenceISODay of a PlainYearMonth we add an
argument to TemporalHelpers.assertPlainYearMonth.
2022-05-03 08:18:02 +02:00
Ms2ger
b649e6b22a Temporal: Port some Duration.compare tests. 2022-04-29 10:58:05 -07:00
Jesse Alama
dcd25e616d Temporal: Port Demitasse tests for PlainDateTime's toString 2022-04-28 12:20:22 +02:00
Jordan Harband
28b31c0bf1 use isConstructor assertion in "non-constructor" tests 2022-04-27 12:23:50 -04:00
Ms2ger
7f2668f807 Temporal: Port a few tests for Duration#{add,subtract}. 2022-04-27 09:31:33 +02:00
Jesse Alama
d156a5a63f Temporal: Port PlainDateTime's Demitasse withCalendar tests
Co-authored-by: Philip Chimento <philip.chimento@gmail.com>
2022-04-26 10:11:11 +02:00
Ms2ger
8f5c7aed09 Temporal: Fix bug in PlainDateTime/prototype/toZonedDateTime/basic.js. 2022-04-25 11:36:56 -04:00
Frank Tang
576c0c0c7f Make minimumFractionDigits = maximumFractionDigits
Make minimumFractionDigits equal to maximumFractionDigits while
roundingIncrement != 1 to sync with latest spec change in
https://github.com/tc39/proposal-intl-numberformat-v3/pull/85
which landed to spec text in Feb 22, 2022
2022-04-25 11:35:24 -04:00
Philip Chimento
8a1ec2f20b Test ISO strings with extended year -000000
In Date.parse() and new Date(), representations of the year 0 as -000000
must not be accepted. In the case of Date.parse(), they should yield NaN,
and in the case of new Date(), they should yield an invalid Date object,
whose valueOf() is NaN.
2022-04-25 11:34:52 -04:00
Jesse Alama
1b71018adb Temporal: PlainDateTime: Port Demitasse tests for bounds 2022-04-25 12:22:49 +02:00
Jesse Alama
cba02351f8 Temporal: Port Demitasse tests for PlainDateTime toZonedDateTime 2022-04-25 12:16:46 +02:00
rwaldron
45fa0063e0 CI: disable graaljs test run 2022-04-25 11:44:14 +02:00
Ms2ger
efcac4c05a Temporal: Port some Duration tests. 2022-04-25 11:07:11 +02:00
Philip Chimento
78c6ec7f1c Test wrong types in conversions to Temporal types
These tests cover, for every API entry point where a Temporal object is
expected, what happens when a value of a different type is passed in that
can't be converted.

Most entry points can convert a string to the expected Temporal type, and
will do ToString on any non-Object argument, and throw RangeError if the
result isn't a string that's convertible to that Temporal type. ToString
will throw TypeError on a Symbol.

Most entry points also take a property bag, and will throw TypeError if
the property bag doesn't have the required properties.

We also have to test for TimeZone and Calendar what happens if the wrong
type is provided as the value of a 'timeZone' or 'calendar' property in
another property bag, up to one level of nested properties.
2022-04-21 12:14:10 -07:00
Philip Chimento
afce1b3fde Test conversion of Number to Temporal objects
Adds tests for conversion of a Number whose corresponding toString() value
is a valid ISO string. For some Temporal types this is possible, with a
number like 20220418.

Especially for Temporal.Calendar, we have to take into account the case
where the number is provided as the value for the 'calendar' property in a
property bag, and the case of up to one level of nested property bag as
well.

Regularizes and expands existing tests for this case.
2022-04-21 12:14:10 -07:00
Philip Chimento
a38d3f3b67 Add missing test for Temporal.ZonedDateTime constructor
The test for a TimeZone created from an ISO string with multiple offsets
was missing from the Temporal.ZonedDateTime constructor, whereas it was
present for several other APIs. Add it.
2022-04-21 12:14:10 -07:00
Philip Chimento
7b3c176629 Add missing tests for PlainTime property bag with no time units
We already had similar tests to these for other methods, such as
Temporal.PlainTime.prototype.equals(). since() and until() should have
these tests too.

Update assertion messages in all of the existing tests as well, as per
Ms2ger's review comment.
2022-04-21 12:14:10 -07:00
Philip Chimento
15ed94c891 Test conversion of object to string in Temporal.Instant context
An object may be given in any context where a Temporal.Instant is expected
(see ToTemporalInstant). There is no conversion from a property bag to an
Instant, unlike with other Temporal types. Instead the object is converted
to a string, and if its toString() method yields a valid ISO string, the
conversion succeeds. (An object with the default Object.prototype.toString
will not.)
2022-04-21 12:14:10 -07:00
Philip Chimento
d28ca991cb Test conversion of Temporal.Instant strings with sub-minute UTC offsets 2022-04-21 12:14:10 -07:00