Commit Graph

566 Commits

Author SHA1 Message Date
André Bargull d7a10658d9 Replace time zone link name canonicalisation tests
Replace tests with more simple tests that only ensure link names are
accepted.
2022-08-01 14:13:30 -07:00
André Bargull 30091032c1 Import SpiderMonkey Temporal tests
Temporal tests written for the SpiderMonkey implementation. Mostly
covers edge cases around mathematical operations and regression tests
for reported spec bugs.
2022-08-01 14:13:30 -07:00
Philip Chimento 6685c6c81c Temporal: Add tests for casting a calendar ID string to a Temporal.Calendar
This adds tests to every entry point where a Temporal.Calendar is
accepted, making sure that a calendar ID string is also accepted.
2022-08-01 13:48:11 -07:00
Philip Chimento 7d31aa21ad Temporal: Add basic IANA-time-zone-aware tests for TimeZone.getPlainDateTimeFor
This adds several tests for values that should be produced by the time
zone database and should not be subject to change in the future. This
tests basic functionality of TimeZone.getPlainDateTimeFor with an IANA
time zone database.
2022-08-01 13:48:11 -07:00
Philip Chimento 8ea8e3f15d Temporal: Add tests for IANA legacy name time zones
Aside from the ones that were already tested in etc-timezones.js, this
adds a test for other IANA legacy names.

Previously these were supported in the TimeZone constructor, but not in
from().

See https://github.com/tc39/proposal-temporal/pull/2292 which is a
normative change that achieved consensus at the July 2022 TC39 meeting.
2022-07-28 12:00:29 -07:00
Philip Chimento 5cb596f191 Temporal: Perform TimeZone 'Etc/GMT±NN' tests for from() as well
The Etc/GMT±... time zones should be accepted in from() as well as the
TimeZone constructor. Previously this was not the case for +0 and -0 due
to those being IANA legacy names.

This basically copies the existing test file for the TimeZone constructor,
and performs the same tests for TimeZone.from().

See https://github.com/tc39/proposal-temporal/pull/2292 which is a
normative change that achieved consensus at the July 2022 TC39 meeting.
2022-07-28 12:00:29 -07:00
André Bargull 12b7b5c916 Temporal: tests for out-of-range time zone transitions
This normative change reached consensus in the July 2022 TC39 meeting:
https://github.com/tc39/proposal-temporal/pull/2351
2022-07-25 13:33:32 -07:00
Frank Yung-Fong Tang e41d581c6d Sync with pull/100 of intl-numberformat-v3
https://github.com/tc39/proposal-intl-numberformat-v3/pull/100/files
2022-07-25 12:40:18 -07:00
Frank Yung-Fong Tang ab29fd3225
Sync to PR701 (#3609)
In 2022-07-20 TC39 we decide to take 
https://github.com/tc39/ecma402/pull/701 and not check the order of the x and y 
see https://docs.google.com/presentation/d/1UUvbf3FFu9PGtrPAKPdMad9DZuVFLIvkAsAxyJZyvxM/ for details
2022-07-21 13:30:08 -07:00
Romulo Cintra 7b2a9bb441
DurationFormat basic format tests (#3604) 2022-07-21 11:07:40 -07:00
André Bargull a3040a5047 Import SpiderMonkey Temporal tests
Temporal tests written for the SpiderMonkey implementation. Mostly
covers edge cases around mathematical operations and regression tests
for reported spec bugs.
2022-07-19 11:30:43 -07:00
Romulo Cintra 91a61b29ac meta: add missing feature flag 2022-07-13 09:16:05 -07:00
Frank Yung-Fong Tang f541d991f9 Remove comments after PR92
https://github.com/tc39/proposal-intl-numberformat-v3/pull/92/files
2022-07-13 08:20:44 -07:00
Frank Yung-Fong Tang e6b4558ae8 Sync test to PR29 of numberformat-v3
https://github.com/tc39/proposal-intl-numberformat-v3/pull/92/files
2022-07-13 08:20:44 -07:00
Romulo Cintra 6432c9df20
Increase the Intl.DurationFormat Coverage (#3592)
Co-authored-by: Ms2ger <Ms2ger@gmail.com>
2022-07-13 12:23:57 +02:00
Yusuke Suzuki b2b6756044 Fix useGrouping tests based on the latest Intl.NumberFormat v3 change
Based on discussion[1], useGrouping computation in Intl.NumberFormat v3 is updated[2] to keep web compatibility.
This change fixes the existing test which is testing the previous behavior.

[1]: https://github.com/tc39/proposal-intl-numberformat-v3/issues/74
[2]: d13bd63f8f
2022-07-04 11:13:37 -06:00
Romulo Cintra 392f0049d7 test invalid negative durations objects 2022-07-01 09:26:43 +02:00
Philip Chimento f314ecb9f4 Temporal: Test observable calls on fields object from PrepareTemporalFields
As of https://github.com/tc39/proposal-temporal/pull/2219 the object
returned from the PrepareTemporalFields abstract operation should be a
null-prototype object. There are a number of places where this is
observable in one of the calendar's ...FromFields() methods. This adds
tests for this behaviour everywhere it is observable.
2022-06-27 13:51:58 +02:00
Frank Yung-Fong Tang 13c1b3b546 Fix expectation
@romulocintra @sffc
2022-06-17 10:23:20 +02:00
Philip Chimento 0e86baf6f3
Temporal: Add tests for order of observable operations in *FromFields methods (#3568)
This adds tests for https://github.com/tc39/proposal-temporal/pull/2203
which was a normative change that reached consensus in the June 2022 TC39
plenary meeting.

Co-authored-by: Ms2ger <Ms2ger@gmail.com>
2022-06-14 15:46:16 +02:00
Ms2ger 53d6cd6d46 Temporal: Add tests for converting a ZonedDateTime to a PlainDate. 2022-06-02 08:50:05 +02:00
Romulo Cintra 406ec000f2
Tests combinations max-min fractionDigits and Significant digits (#3515)
NumberFormat v3
2022-05-25 10:50:46 -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 494b678cc5 Temporal: Add tests for ZonedDateTime to PlainDate conversion.
Also rename leap second tests for consistency.
2022-05-18 12:35:07 -07: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
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
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 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
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
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 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
Ms2ger 84679fd7ed
Temporal: Add a test for PlainDateTime#withPlainDate with intl calendars. (#3483) 2022-04-15 10:47:38 -07:00
Philip Chimento 9f303112bd Repeat Instant.p.toString() test with timeZone parameter for IANA time zones
This adds to the intl402/ tree a copy of
built-ins/Temporal/Instant/prototype/toString/timezone-offset.js but which
uses IANA time zones.
2022-04-13 10:46:20 +02:00
Philip Chimento ac19506a01 Add tests ensuring that observable calls are made with options === undefined
Where possible, observable calls originating from within Temporal, that
require an options argument, should pass `undefined` as that options
argument, rather than `{}` or `Object.create(null)`.

See tc39/proposal-temporal#1685.
2022-04-04 16:24:17 -04:00
Romulo Cintra 926b0960d7
update nfv3 test for roundingIncrement (#3441) 2022-03-31 14:53:20 -07:00
Jesse Alama 4c7c24646a
Check a variety of offset Etc/GMT timezones (#3403)
Tests for normative change https://github.com/tc39/proposal-temporal/pull/2050
2022-03-30 08:33:52 -07:00
Philip Chimento 3eea1a7959 Add tests for various invalid ISO strings for PlainDate
These tests check API entry points that convert strings to
Temporal.PlainDate, with a list of various strings that are all not valid
for that context according to ISO 8601.
2022-03-29 11:26:53 -04:00
Romulo Cintra 81895b1543 use all values max and min fraction and significant digits 2022-03-14 16:52:38 -07:00
Frank Yung-Fong Tang 5fb0f5b6d2 Remove SPACES before features 2022-03-09 15:24:33 -05:00
Frank Yung-Fong Tang bc4af482b0 Fix features by removing leading space 2022-03-09 15:24:33 -05:00
Jesse Alama 131c396b6a Remove number test (yields a different error, not an exception) 2022-02-28 14:37:03 -05:00
Jesse Alama 8ff1e510b9 Add a couple more types 2022-02-28 14:37:03 -05:00
Jesse Alama 9c6e3aff38 Move to more sensible location 2022-02-28 14:37:03 -05:00
Jesse Alama 10f9a69295 Move test to a more sensible location
Also, use a more sensible ID as well. Add another test (for
Date values).
2022-02-28 14:37:03 -05:00
Jesse Alama ecd24faa82 Fix buggy error message 2022-02-28 14:37:03 -05:00
Jesse Alama 918cefcd09 Check `formatRange` on many pairs of invalid arguments 2022-02-28 14:37:03 -05:00
Jesse Alama 7d82f8ac63 Add tests for invalid extended year "-000000"
https://github.com/tc39/proposal-temporal/issues/1753 records the
consensus reached at the October 2021 TC39 meeting to disallow "-000000"
as an extended year, both in Date.parse and Temporal. This adds tests for
the Temporal part of that.
2022-02-01 17:59:02 -05:00