Commit Graph

639 Commits

Author SHA1 Message Date
Mike Pennisi d071b37f09 Add tests for "Intl NumberFormat v3" proposal
This patch is intended to cover only one aspect of the proposal for
ECMA402: the "new rounding/precision options" feature.
2022-01-04 09:35:13 -05:00
Yusuke Suzuki 6804e59f9f Fix Intl.PluralRules.selectRange test
en-US's Intl.PluralRules.selectRange(102, 201) is "other", not "few".
2022-01-04 09:33:18 -05:00
Romulo Cintra 46f847c2e8
NumberFormat v3 tests (#3283)
* feat: nfv3 plural rules

* test NaN and out of range values

* add NumberFormat v3 proposal features

* add feature to selectrange tests

* add basic test NumberFormat.formatRange

* add basic test NumberFormat.formatRangeToParts

* update Plural Rules tests

* refactor some tests

* update formatRange tests

* update formatRangeToParts tests

* update feature flag

* add locale: [en-US]

* update selectRange tests

* update tests

* update en-US tests and add pt-PT

* update prop-desc check

* validate  1.1.25_4.a

Co-authored-by: Romulo Cintra <romulocintra@gmqil.com>
2021-12-17 14:33:27 -05:00
Philip Chimento 0184842b09 Test rejection of "Z" UTC designators in Plain strings
Tests for the normative changes made to Temporal in
https://github.com/tc39/proposal-temporal/pull/1874
2021-12-14 13:39:19 -05:00
Frank Yung-Fong Tang 29a0a1e253 Simplify the testing
The last five lines below are simply WRONG and not according to the spec. 

```
const durationFormat = new Intl.DurationFormat();

verifyNotEnumerable(durationFormat, Symbol.toStringTag);
verifyNotWritable(durationFormat, Symbol.toStringTag);
verifyConfigurable(durationFormat, Symbol.toStringTag);
```
2021-12-14 13:37:35 -05:00
Frank Yung-Fong Tang b9cac998df Correct set up 2021-12-14 10:39:37 -05:00
Frank Yung-Fong Tang 6fecbe5257 correct test result in NumberFormat/...value-decimal-string.js 2021-12-14 10:39:37 -05:00
Frank Tang c2bd148ac7 restore the wrong copy 2021-12-06 09:12:27 -05:00
Frank Tang 78907d6393 Move toLocaleString testing to intl402
Move part of the test of toLocaleString which depends on
15 Amendments to the ECMAScript® 2021 Internationalization API Specification
to intl402. Keep behavior specified in earlier chapters in built-ins
2021-12-06 09:12:27 -05:00
Nikhil Singhal 1f16a6ad0e docs: update features 2021-12-03 19:53:31 -05:00
Nikhil Singhal f00ea58ae9 test(Intl.DurationFormat.prototype): check prototype attributes 2021-12-03 19:53:31 -05:00
jugglinmike 4d23bbf00a
Add tests for "Intl NumberFormat v3" proposal (#3307)
* Add tests for "Intl NumberFormat v3" proposal

This patch is intended to cover only one aspect of the proposal for
ECMA402: the "interpret strings as decimals" feature.

* fixup! Add tests for "Intl NumberFormat v3" proposal
2021-12-03 19:51:57 -05:00
Frank Yung-Fong Tang a3a31f0316 Move test with IATA TimeZone to intl402 2021-12-02 09:46:33 -05:00
Frank Yung-Fong Tang fdad35e658 Move IATA TimeZone test to intl402 2021-12-02 09:46:33 -05:00
Frank Yung-Fong Tang 00369cfe38 Move test under intl402 2021-12-02 09:46:33 -05:00
Frank Yung-Fong Tang ef697bbc6d fix en-IN expectation 2021-12-02 09:45:59 -05:00
Frank Yung-Fong Tang 54ef0b1bf4 Fix expectation of "compact" notation 2021-12-02 09:45:59 -05:00
Mike Pennisi ae9440df36 fixup! Add tests for "Intl NumberFormat v3" proposal 2021-11-30 14:52:57 -05:00
Mike Pennisi ef78452924 Add tests for "Intl NumberFormat v3" proposal
This patch is intended to cover only one aspect of the proposal for
ECMA402: the "grouping enum" feature. It also includes coverage for the
formatting option as already defined by the latest version of ECMA402.
2021-11-30 14:52:57 -05:00
André Bargull 666d62a27f Correct negative-zero sign display tests
The negative sign is computed after rounding, so when the input `-0.0001` is
rounded to `-0`, the expected result should be `"0"` instead of `"-0"`.
2021-11-30 14:51:22 -05:00
Frank Yung-Fong Tang a171df1c03 rollback changes get into the wrong branch 2021-11-30 14:49:23 -05:00
Frank Yung-Fong Tang 4d831016c3 Fix expectation for "Asia/Ulan_Bator" 2021-11-30 14:49:23 -05:00
Frank Yung-Fong Tang 6216034ed7 remove invalid test 2021-11-30 14:49:23 -05:00
Frank Yung-Fong Tang 3f5c4fce43 Valid values of 'era' is not defined in Temporal 2021-11-30 14:49:23 -05:00
Philip Chimento 58cffd9f57 Remove intl402/Temporal/TimeZone/from/argument-invalid test
Currently, this test is not conformant to the proposal text.
Temporal.TimeZone.from() calls ToTemporalTimeZone. Since the argument is
a string, we next go to ParseTemporalTimeZone, where on a string such as
`1994-11-05T08:15:30-05:00[UTC]` we would return _result_.[[Name]] (which
would be equal to `UTC`) and discard the UTC offset string.
2021-11-30 14:48:08 -05:00
Philip Chimento 1d09acaac1 Fix not-callable getOffsetNansecondsFor tests
Unfortunately, in #3304 I made a last-minute mistake when I added the
uncallable value to the assertion message, and neglected to test it;
Symbols can't be converted to strings like that, so these tests would
fail. This fixes the assertion messages.
2021-11-30 14:36:59 -05:00
Yusuke Suzuki fc6a9169a4 Update Intl.Locale info API test
weekendStart / weekendEnd are merged into one weekend array.
2021-11-30 14:36:01 -05:00
Yusuke Suzuki c124f6c037 Intl.NumberFormat v3's default roundingMode should be "halfExpand"
The test was using "halfExpand (default)".
2021-11-30 14:35:41 -05:00
Philip Chimento ae53326189 Test TypeError is thrown when getOffsetNanosecondsFor is not callable
Tests for the normative changes made to Temporal in
https://github.com/tc39/proposal-temporal/pull/1829
In a previous version of the specification, there was a fallback to the
intrinsic getOffsetNanosecondsFor when it was undefined.
2021-11-16 17:06:06 -05:00
Mike Pennisi 26f1f4567e Add tests for "Intl NumberFormat v3" proposal
This patch is intended to cover only one aspect of the proposal for
ECMA402: the "negative sign display" feature.
2021-11-09 13:28:42 -05:00
Mike Pennisi 396fc064d8 fixup! Add tests for "Intl NumberFormat v3" proposal 2021-11-01 12:50:38 -04:00
Mike Pennisi c0ea82adf1 fixup! Add tests for "Intl NumberFormat v3" proposal 2021-11-01 12:50:38 -04:00
Mike Pennisi 057c8acec7 Add tests for "Intl NumberFormat v3" proposal
This patch is intended to cover only one aspect of the proposal for
ECMA402: the "rounding mode" feature.
2021-11-01 12:50:38 -04:00
Mike Pennisi f527a107f2 Relax tests for resolvedOptions property ordering
A number of tests for ECMA402 asserted the exact contents of the array
returned by various `resolvedOptions` methods. This conflicted with the
expectation that more options will be introduced by future editions of
the specification.

Update these tests to assert property order more generically in order to
accommodate implementation of future language proposals and more closely
align with similar tests.

Update all `resolvedOptions` tests to produce more meaningful error
messages (including replacing the generic `arrayContains` assertion with
a specific assertion regarding the value of the first array element).
2021-10-29 15:19:27 -04:00
Mike Pennisi 1ad9bb7626 Improve errors in NumberFormat#formatToParts tests
Specify a descriptive value for the previously-unused third parameter of
the `verifyFormatParts` function in order to disambiguate error
messages.

This patch was generated with the following command:

    sed -i 's/\(verifyFormatParts([^,]\+, \)\([^,]\+\))/\1\2, "\2")/g' \
      test/intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-*
2021-10-18 09:45:11 -04:00
Mike Pennisi 7ce15a19f3 Correct test descriptions 2021-10-18 09:44:53 -04:00
Frank Tang adce88e717 mv tests depend on Intl to intl402. 2021-10-08 14:30:06 -04:00
Rick Waldron d5ac0c348a
Transform compareArray -> assert.compareArray: test/intl402/**/*.js (#3240) 2021-10-05 22:54:01 -04:00
Philip Chimento 77a34cf93f Add Temporal tests
This copies over the tests that previously existed in the
tc39/proposal-temporal repository.

For context, see thread starting at:
https://github.com/tc39/test262/issues/3002#issuecomment-926234480

In service of https://github.com/tc39/test262/issues/3002
2021-10-01 14:30:12 -04:00
Mike Pennisi d9ddf80479 Revert "Merge pull request #3219 from tc39/rwaldron/migrate-comparearray"
This reverts commit b690cb67be, reversing
changes made to 50dd431dff. This is
necessary because the reverted changeset reduced coverage by an unknown
extent.
2021-10-01 10:18:47 -04:00
rwaldron 4847d9db5a chore: update test/**/*.js to use assert.compareArray wherever applicable 2021-09-24 12:58:15 -04:00
André Bargull 66a3c3aa8b Add tests for Intl Enumeration API
Covers the usual surface tests and additional functionality tests which were
upstreamed from existing tests in SpiderMonkey.

Fixes #3131
2021-09-08 09:29:06 -04:00
André Bargull 71460edfeb Add helper functions to retrieve all calendars, collations, numberingSystems, and simple sanctioned units
And then use these helpers to replace hard-coded lists in other tests.
2021-09-08 09:29:06 -04:00
André Bargull 0181293d38 "era" and "eraYear" are ECMA-402 only properties.
Both properties are only present when ECMA-402 is supported.
2021-09-02 11:23:23 -07:00
Mike Pennisi c324e5c620 Correct tests for Unicode Language Identifier
The underscore character "_" is only accepted for the sep production [1]
when the backwards-compatibility extensions [2] are enabled. However,
ECMA-402 only accepts Unicode BCP 47 locale identifiers [3], meaning
identifiers *without* the backwards-compatibility extensions.

[1] https://unicode.org/reports/tr35/#Unicode_language_identifier
[2] https://unicode.org/reports/tr35/#BCP_47_Conformance
[3] https://tc39.es/ecma402/#sec-language-tags
2021-09-02 10:34:22 -04:00
Mike Pennisi 247085f9d8 fixup! Add tests for proposal, "Intl.DisplayNames v2" 2021-07-28 13:22:51 -04:00
Mike Pennisi d93e7b08e7 Add tests for proposal, "Intl.DisplayNames v2"
https://tc39.es/intl-displaynames-v2/
2021-07-28 13:22:51 -04:00
Mike Pennisi 1142ebee09 Remove extraneous feature flag 2021-07-28 12:44:07 -04:00
Michael Dyck 82e0487797 "Normalize" some YAML
In each case, it's the scalar value associated with the "description" key.
Normally in test262, this is written in either:
- block notation (indicated by '>' or '|'), or
- flow notation, single-line, on the same line as the key.

In the cases addressed by this PR, the value is instead written in:
- (1x) flow notation, *multi*-line, or
- (2x) flow notation, single-line, on the line *after* the key.

These are valid YAML, but they're styles that test262 doesn't otherwise use,
so could conceivably confuse people or harnesses.

This PR changes them to block notation.
2021-07-21 16:34:04 -04:00
Mike Pennisi 347b651e95 Improve coverage for Intl Locale Info proposal 2021-07-21 13:43:57 -04:00
jugglinmike 8faacdbaee
Add tests: "Extend TimeZoneName Option" proposal (#3042) 2021-07-16 09:45:02 -04:00
Nicolò Ribaudo 356afd79a8
Fix syntax in `supportedLocalesOf-unicode-extensions-ignored` test (#3035) 2021-07-12 13:13:56 -04:00
Kate Miháliková c27f6a5b9a
Add tests for Intl.DateTimeFormat conflicting options (#3033)
Relates to tc39/proposal-temporal#1590
2021-06-30 11:43:26 -04:00
Frank Yung-Fong Tang 9997a26c7d
Fix tests on {localeMatcher: "lookup"} (#3008)
* Fix test for only {localeMatcher: "lookup"}

The expectation that "sr-Thai-RS" would be returned is only true with the 
9.2.2 BestAvailableLocale ( availableLocales, locale )
https://tc39.es/ecma402/#sec-bestavailablelocale
algorithm used by 9.2.3 LookupMatcher ( availableLocales, requestedLocales )
https://tc39.es/ecma402/#sec-lookupmatcher

The default for localeMatcher is "best fit" but not "lookup" for all Intl objects.

And for 9.2.4 BestFitMatcher ( availableLocales, requestedLocales )
https://tc39.es/ecma402/#sec-bestfitmatcher
It may not match "sr-Thai-RS" for "sr"  and return ["de", "zh-CN"] instead. Therefore, we need to change this test to only test on {localeMatcher: "lookup"}

* Add option to getLocaleSupportInfo

Needed to test different localeMatcher

* only test for "lookup" localeMatcher

* Get the info based on the localeMatcher

* pass in localeMatcher to getLocaleSupportInfo
2021-06-24 13:37:33 -04:00
Ujjwal Sharma 26cf753e74
intl402: add output tests for locale-info (#3007)
* intl402: locale-info tests for array output

* fixup! intl402: locale-info tests for array output

* fixup! intl402: locale-info tests for array output
2021-06-24 13:20:47 -04:00
Ujjwal Sharma 5e0fc43c66
Add basic tests for proposal-intl-locale-info (#2987)
* Add basic tests for weekInfo

* Add basic tests for textInfo

* Add basic tests for timeZones

* Add basic tests for numberingSystems

* Add basic tests for hourCycles

* Add basic tests for collations

* Add basic tests for calendars

* Add feature for Intl.Locale-info

* add validation to branding tests for locale-info

Add additional assertion to branding tests for proposal-intl-locale-info
to make sure they don't pass spuriously when the proposal is not
implemented.
2021-05-18 22:40:08 -04:00
Richard Gibson ffec772910 Improve Intl.Segmenter coverage 2021-05-11 17:40:05 -04:00
Frank Yung-Fong Tang 31126581e7
Change Intl.(ListFormat|DisplayNames|Segmenter) (#2952)
* Change Intl.(ListFormat|DisplayNames|Segmenter)

Sync from ToObject to GetOptionsObject which throw TypeError
while the option is not object

* Add null and false to test
2021-03-08 19:31:26 -08:00
Ujjwal Sharma f6034ebe9f Add DateTimeFormat tests for OrdinaryHasInstance
Add tests to make sure DateTimeFormat does not call the instanceof
operator and calls OrdinaryHasInstance instead.

Refs: https://github.com/tc39/ecma402/pull/500
2021-02-16 12:20:50 -05:00
Ujjwal Sharma 76ab0187c0 Add NumberFormat tests for OrdinaryHasInstance
Add tests to make sure NumberFormat does not call the instanceof
operator and calls OrdinaryHasInstance instead.

Refs: https://github.com/tc39/ecma402/pull/500
2021-02-16 12:20:50 -05:00
ExE Boss 8f904d8cc8 Set function `length` and `name` in `CreateBuiltinFunction` 2021-01-29 09:45:20 -05:00
Yusuke Suzuki df1961f16a Fix formatRangeToParts/date-same-returns-single-date.js and add tests using practically-equal two dates
intl402/DateTimeFormat/prototype/formatRangeToParts/date-same-returns-single-date.js is using `formatRange` and `format`.
Fix this test to use `formatRangeToParts` and `formatToParts` since it is the intention of this test.

This patch adds additional tests to intl402/DateTimeFormat/prototype/formatRangeToParts/date-same-returns-single-date.js and
intl402/DateTimeFormat/prototype/formatRange/date-same-returns-single-date.js. The new test uses two dates that are practially-equal,
and ensures the implementation uses `format` or `formatToParts` by detecting they are practically-equal.
2021-01-10 20:55:08 -05:00
Felipe Balbontín 6cf3433cf8 Update copyright in formatRange/date-same-returns-single-date.js and formatRangeToParts/date-same-returns-single-date.js 2021-01-03 19:52:18 -05:00
Felipe Balbontín 22cdb74659 Add tests for Intl.DateTimeFormat formatRange(ToParts) to check the behavior when startDate is the same as endDate (tc39/proposal-intl-DateTimeFormat-formatRange#19). 2021-01-03 19:52:18 -05:00
Frank Yung-Fong Tang b2e9dff281 change cel-gaulish map to xtg 2020-12-21 10:15:14 -05:00
Frank Yung-Fong Tang 7c9480476e Update the test based on v35 of UTS35
see http://unicode.org/reports/tr35/#LocaleId_Canonicalization
@anba
2020-12-21 10:15:14 -05:00
Frank Yung-Fong Tang 483219a596 fix mapping for cel-gaulish 2020-12-16 11:59:06 -05:00
Frank Yung-Fong Tang 0b752efc09 Map "cel-gaulish" to "xtg" 2020-12-16 11:59:06 -05:00
Frank Yung-Fong Tang 4ff1828c5e Update to CLDR 38
see 
https://github.com/unicode-org/cldr/blame/master/common/supplemental/supplementalMetadata.xml#L531
and
http://unicode.org/reports/tr35/#LocaleId_Canonicalization
2020-12-16 11:59:06 -05:00
Frank Yung-Fong Tang 10bbf0030a Change sgn-GR: sgn-GR to sgn-GR: gss per CLDR38
see c640c7b9ac/common/supplemental/supplementalMetadata.xml (L149)
2020-12-16 11:59:06 -05:00
Felipe Balbontín c898b68ef6 Update the description of some Intl.DateTimeFormat formatRange(ToParts) tests based on changes introduced in tc39/proposal-intl-DateTimeFormat-formatRange#23 2020-12-10 09:17:00 -05:00
Rick Waldron 82f38efbab Features: add "intl-normative-optional" 2020-11-03 14:28:17 -05:00
Yusuke Suzuki 20b11bee0f Add tests for [[Description]] of Intl [[FallbackSymbol]]
If normative optional is implemented and [[FallbackSymbol]] is used, its description should be "IntlLegacyConstructedSymbol"
2020-11-02 12:34:09 -05:00
Jeff Walden 2cfccb765a Add tests verifying that duplicate variants, in a tag or in the tlang component of a tag, make it structurally invalid. 2020-10-09 16:34:33 -04:00
Frank Yung-Fong Tang 42bf3a9f7a Add the check of collation 2020-10-06 11:05:17 -04:00
Yusuke Suzuki 3c789640ec dft-currency-mnfd-range-check-mxfd.js should check maximumFractionDigits, not maximumSignificantDigits
This test is checking maximumSignificantDigits, but this is wrong. We should check maximumFractionDigits.
2020-09-28 09:09:09 -04:00
Yusuke Suzuki 3fe45c44c6 Revert "Intl.NumberFormat + currency will throw an error if maximumFractionDigits is less than currencyDigits"
This reverts commit a7b9067fe1.
I fixed the test with a7b9067fe1 based on the current spec, but this test was based on WIP spec change.
2020-09-24 14:55:28 -04:00
Yusuke Suzuki e75ed15b91 Perl YAML parser cannot parse documents in options-granularity-abrupt-throws.js and options-granularity-toString-abrupt-throws.js
Remove line terminator.
2020-09-21 16:04:44 -04:00
Yusuke Suzuki 333da4198a Connector of date and time style can be " at " or ", "
macOS system ICU is shipping new CLDR, but it has many overrides on the top of it to make the formatted output suitable for the system.
And in timedatestyle-en.js tests, we intentionally override the CLDR data with the different format.
This change modifies the test to accept that alternative output.
2020-09-19 15:35:45 -04:00
Yusuke Suzuki a7b9067fe1 Intl.NumberFormat + currency will throw an error if maximumFractionDigits is less than currencyDigits
In 12.1.1 SetNumberFormatDigitOptions step 12.d[1], mnfd (minimum fraction digits) becomes the same to currencyDigits (mxfdDefault in this case).
It is 2 for USD, 4 for CLF. So, if maximumFractionDigits is less than that, we should throw RangeError.

[1]: https://tc39.es/ecma402/#sec-setnfdigitoptions
2020-09-15 10:33:23 -04:00
Rick Waldron 873a7241c3 Fixup Intl.* this-value tests (delete dups, add proper esid) 2020-09-14 13:35:13 -04:00
Frank Tang ab3a86d9b3 Move tests from
https://source.chromium.org/chromium/chromium/src/+/master:v8/test/test262/local-tests/
2020-09-14 13:35:13 -04:00
Rick Waldron 6397602037 Update test/intl402/Segmenter/ctor-custom-get-prototype-poison-throws.js
Co-authored-by: Ujjwal Sharma <ryzokuken@disroot.org>
2020-09-10 16:08:39 -04:00
Rick Waldron cce13c4c24 Update test/intl402/Segmenter/constructor/constructor/options-localeMatcher-toString-abrupt-throws.js
Co-authored-by: Ujjwal Sharma <ryzokuken@disroot.org>
2020-09-10 16:08:39 -04:00
Rick Waldron 74bed11865 Update test/intl402/Segmenter/constructor/constructor/options-granularity-toString-abrupt-throws.js
Co-authored-by: Ujjwal Sharma <ryzokuken@disroot.org>
2020-09-10 16:08:39 -04:00
Frank Tang 7a4a637574 Address review comments 2020-09-10 16:08:39 -04:00
Frank Tang 4f8ee98d26 Remove Unused include: "propertyHelper.js" 2020-09-10 16:08:39 -04:00
Frank Tang 2886465593 Add true for the test case 2020-09-10 16:08:39 -04:00
Frank Tang 6d97fa208a Fix errors 2020-09-10 16:08:39 -04:00
Frank Tang 085cb50b25 Add more tests for Intl.Segmenter 2020-09-10 16:08:39 -04:00
Yusuke Suzuki 8060bba447 Accessing order of fractionalSecondDigits should be earlier than timeZoneName
In this PR[1], fractionalSecondDigits is listed earlier than timeZoneName in table 6[2].
So, accessing order of fractionalSecondDigits in [3]'s step-29 should be earlier than timeZoneName.

[1]: https://github.com/tc39/ecma402/pull/347
[2]: https://tc39.es/ecma402/#sec-datetimeformat-abstracts
[3]: https://tc39.es/ecma402/#sec-initializedatetimeformat
2020-09-02 15:30:46 -04:00
Ujjwal Sharma 6c3f8cdc75
Update tests for tc39/ecma402#471 (#2707) 2020-08-13 10:31:24 -07:00
Leo Balter e0ef80b967
Merge pull request #2712 from shvaikalesh/intl402-intl-object-tostringtag
Add Intl[@@toStringTag] coverage
2020-07-30 15:19:38 -07:00
Yusuke Suzuki f6a9847c73
related-year-zh.js may not contain years (#2718)
macOS system ICU is shipping new CLDR, but it has many overrides on the top of it to make the formatted output suitable for the system.
And in related-year-zh.js tests, we intentionally override the CLDR data with the different format.
This change modifies the test to accept that alternative output.
2020-07-29 14:58:32 -07:00
Frank Yung-Fong Tang 0f5a274aad
Fix Segmenter tests: Check "input" in segment-*-iterable.js (#2714)
* Check "input" in segment-*-iterable.js

Remove dup test in segment-*.js

* Fix segment-tostring.js
2020-07-29 12:00:35 -07:00
Yusuke Suzuki 80b54781b0
Intl.Segmenter iterator result should have isWordLike only if type is "word" (#2717)
Update according to https://github.com/tc39/proposal-intl-segmenter/pull/128.
2020-07-28 10:53:16 -07:00
Alexey Shvayka c46be192bb Remove duplicated Intl.toString() test 2020-07-23 10:13:18 +03:00
Alexey Shvayka f9622ce80b Remove duplicated Intl.[[Prototype]] test 2020-07-23 10:13:13 +03:00
Alexey Shvayka aa4fd3fffa Add Intl[@@toStringTag] coverage 2020-07-23 10:13:12 +03:00
Yusuke Suzuki 538fcd88d8
Intl.DisplayNames.length should be 2 (#2711)
`locales` and `options` are not optional parameters. So the length should be 2.
2020-07-20 16:29:05 -07:00
Frank Tang 5010996d5d Test invalid type 2020-07-13 15:50:07 -07:00
Frank Tang 3c89cde3e0 Intl.DisplayNames make type required
Update the tests to the latest version after we make
the type option now required

Spec:
https://tc39.es/proposal-intl-displaynames/

Changes of spec:
https://github.com/tc39/proposal-intl-displaynames/pull/76
https://github.com/tc39/proposal-intl-displaynames/pull/83
2020-07-10 19:19:34 -07:00
Frank Yung-Fong Tang 59f5b49359 remove 0 from the range and use undefined 2020-07-09 21:52:54 -04:00
Frank Yung-Fong Tang 1161eee3e4 use undefined instead of 0 2020-07-09 21:52:54 -04:00
Frank Yung-Fong Tang 36e4278f20 use undefined instead of 0 so range is only 1-3 2020-07-09 21:52:54 -04:00
Frank Yung-Fong Tang 21824359d0 restrict the range from 1 to 3 2020-07-09 21:52:54 -04:00
Frank Yung-Fong Tang e620226cd7 limit the range to 1 to 3 only 2020-07-09 21:52:54 -04:00
Yusuke Suzuki 281eb10b28
Intl.DateTimeFormat.{formatRange,formatRangeToParts} should throw TypeError instead of RangeError if either of parameter is undefined (#2685)
http://tc39.es/proposal-intl-DateTimeFormat-formatRange/
The spec draft throws TypeError instead of RangeError.

	1.4.5 Intl.DateTimeFormat.prototype.formatRange ( startDate , endDate )
	...
	4. If startDate is undefined or endDate is undefined, throw a TypeError exception.

	1.4.6 Intl.DateTimeFormat.prototype.formatRangeToParts ( startDate , endDate )
	...
	4. If startDate is undefined or endDate is undefined, throw a TypeError exception.
2020-07-01 14:45:43 -07:00
André Bargull 649d0d2c9a Update list of non-algorithmic numbering systems
Per https://github.com/tc39/ecma402/pull/438
2020-06-24 12:11:36 -04:00
André Bargull 630f7dee66 Updated expected error in NumberFormat constructor per current spec 2020-06-24 12:11:36 -04:00
André Bargull d42aaa4b15 Expect `undefined` when no fractional second digits are present
Change the expected value per the current PR.
2020-06-24 12:11:36 -04:00
Frank Tang 8d3dd2d1a0 Sync the test w/ changes in intl-datetime-style 43
See
https://github.com/tc39/proposal-intl-datetime-style/pull/43
2020-06-17 12:44:31 -04:00
Frank Tang ae0de0b6bb Remove redundant assert 2020-06-10 12:30:58 -04:00
Frank Tang c6fd7eb602 Update Intl.Segmenter to latest spec
Remove methods removed in the latest reversion.

Still need to add tests for:
1.5.2.1 %SegmentsPrototype%.containing ( index )
1.6.2.1 %SegmentIteratorPrototype%.next ()
1.6.2.2 %SegmentIteratorPrototype% [ @@toStringTag ]
2020-06-10 12:30:58 -04:00
Alexey Shvayka ef12a8b11c
Intl: Add coverage for meaningful @@toStringTag values (#2634)
* Add Intl.Collator tests

* Add Intl.DateTimeFormat tests

* Adjust Intl.NumberFormat tests

* Add Intl.PluralRules tests

* Remove now duplicated tests

* Add "toString-changed-tag.js" tests
2020-06-01 15:40:35 -07:00
Frank Yung-Fong Tang 850c65317f Revert "Correct the expectation of zh-Hant"
This reverts commit e8dfe549a8.
2020-04-29 17:22:28 -04:00
Frank Yung-Fong Tang e8dfe549a8 Correct the expectation of zh-Hant
It is incorrect to expect the minimize result of "zh-Hant" to be "zh-TW". It should be "zh-Hant". Why?

first, what we have in input for zh-Hant
lang = zh
region = [none]
script = Hant 

Now, look at the AddLikelySubtags algorithm in http://www.unicode.org/reports/tr35/#Likely_Subtags
2020-04-25 18:52:46 -04:00
Frank Yung-Fong Tang c3e980addf correct style-short.js 2020-04-25 18:48:40 -04:00
Frank Yung-Fong Tang df861e4bbc correct style-narrow.js 2020-04-25 18:48:40 -04:00
Frank Yung-Fong Tang d6c1b361c8 style-long.js 2020-04-25 18:48:40 -04:00
Frank Yung-Fong Tang 17fe569a5e correct style-short.js 2020-04-25 18:48:40 -04:00
Frank Yung-Fong Tang 81de828140 correct style-narrow.js 2020-04-25 18:48:40 -04:00
Frank Yung-Fong Tang 79c1818a68 Correct pl-pl*.js test for minimumGroupingDigits
pl has minimumGroupingDigits{"2"} in locale data according to CLDR
therefore there should be no \u00a0 between 1 and 000

Close https://github.com/tc39/test262/issues/2589
2020-04-25 18:48:40 -04:00
Frank Yung-Fong Tang 0942fe16ae correct comments 2020-04-25 18:43:48 -04:00
Frank Yung-Fong Tang 9b54c22e10 correct comments 2020-04-25 18:43:48 -04:00
Frank Yung-Fong Tang aabf688371 correct comment 2020-04-25 18:43:48 -04:00
Frank Yung-Fong Tang e72a96572b Change the compareArray to allow new property
Change the compareArray to code which allow new property but still assert the actual output contains the expected and assert the order.
2020-04-25 18:43:48 -04:00
Frank Yung-Fong Tang 21440c733c Change compareArray to allow new property
Change the compareArray to code which allow new property but still assert the actual output contains the expected and assert the order.
2020-04-25 18:43:48 -04:00
Frank Yung-Fong Tang fc55e45698 Change the compareArray to allow new property
Change the compareArray to code which allow new property but still assert the actual output contains the expected and assert the order.
2020-04-25 18:43:48 -04:00
Frank Yung-Fong Tang 8ad12251ae Change compareArray to allow new property
Change the compareArray to code which allow new property but still assert the actual output contains the expected and assert the order.
2020-04-25 18:43:48 -04:00
Frank Yung-Fong Tang 4fb0e70db0 add "fractionalSecondDigits" 2020-04-25 18:43:48 -04:00
Frank Yung-Fong Tang 9c6ab189b7 Add fractionalSecondDigits
close https://github.com/tc39/test262/issues/2591
2020-04-25 18:43:48 -04:00
Jeff Walden 31dabb5618 Add a test for Unicode key-type pairs being canonicalized by Intl.Locale regardless whether they're passed in the input tag, or through the options object. 2020-04-23 10:49:48 -04:00
Frank Yung-Fong Tang 064d3c24e3 correct exceptions for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 18f55513f0 correct expectation for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 7bb81a4ee0 correct expectation for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 52ec5850d6 correct expectation for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 6b3b5c100a correct expectation for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 7aa12918ec correct expectation for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang fb00de47c0 correct expectation of exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 11cc0c03f9 correct expectation for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 9119877088 correct expectation for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 2022f97a25 correct expectation for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 0fc6784390 correct exceptZero expectation 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 988bf55b25 correct exceptZero expectation 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang e5d4129d37 correct for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 8293c961e9 correct expectation for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 0279d96432 correct cases for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang d4017357d8 correction for exceptZero 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang f07fe8cb1c correct 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang c1a1111972 correct 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 832ecd285f correct 2020-04-23 10:46:27 -04:00
Frank Yung-Fong Tang 940be668ca correct expectation for signDisplay: "exceptZero" 2020-04-23 10:46:27 -04:00
André Bargull 18bb955771 Upstream additional language tag canonicalisation and Intl.Locale tests from SpiderMonkey
Adds more canonicalisation and Intl.Locale tests from:
- https://hg.mozilla.org/mozilla-central/file/tip/js/src/tests/non262/Intl/Locale
- https://hg.mozilla.org/mozilla-central/file/tip/js/src/tests/non262/Intl/
2020-04-09 09:20:55 -04:00
André Bargull 5d8e6c8e85 Restore grandfathered tests removed in #2054
With the move to UTS 35 for language tag processing, the expected
canonicalisation results for "cel-gaulish" should now be consistent across
implementations.
2020-04-09 09:20:55 -04:00
André Bargull de02cf4dd5 Re-enable variant subtag canonicalisation in tests
UTS 35 canonicalisation requires to (again) canonicalise variant subtags.
2020-04-09 09:20:55 -04:00
André Bargull ae8694b4b7 Copy "invalid options" test from RelativeTimeFormat to NumberFormat/DateTimeFormat
The invalid 'numberingSystem' options test from RelativeTimeFormat covers a few
more cases, so let's reuse it for NumberFormat and DateTimeFormat.
While there, also add tests using non-ASCII inputs.

Fixes #2540
2020-03-30 13:58:04 -04:00
Caio Lima 5d5904d69a Adding test cases to verify that 'numberingSystem' and 'calendar' options are being mapped to lower case 2020-02-20 12:33:21 -05:00
Ms2ger 1f7f5ef23c Change the unit in the NumberFormat unit tests.
This ensures https://github.com/tc39/proposal-unified-intl-numberformat/pull/93 is covered.
2020-02-06 11:09:18 -05:00
Caio Lima 6ecaf1f065 Adjusting separator character 2020-02-05 15:11:25 -05:00
Caio Lima 2e6a371f71 Adding missing 'zip' function 2020-02-05 15:11:25 -05:00
Caio Lima 1337f11e21 Adding tests to cover 'fractionalSecondDigits' on DateTimeFormat.prototype.formatRangeToParts. 2020-02-05 15:11:25 -05:00
Caio Lima 04b1d2254b Added tests with invalid values for calendar and numberingSystem (#2480) 2020-01-24 14:21:33 -05:00
Ms2ger 28b4fcca4b Add tests for the numberingSystem option to RelativeTimeFormat. (#2459)
* Add tests for the numberingSystem option to RelativeTimeFormat.

* fixup! Add tests for the numberingSystem option to RelativeTimeFormat.
2020-01-08 16:29:13 -05:00
Ms2ger 87ac236324 Add a specific test for relatedYear output. (#2458)
Based on <https://cs.chromium.org/chromium/src/v8/test/intl/date-format/related-year.js>.

Fixes #2332.
2020-01-08 16:27:39 -05:00
Lo̹̫̦̥̬̜͈͝n̗͚̼̤ĝ̮̫͎̬̬͕̪ͫ̐̕ ͭ̊H̱̏ͬ̃ͨ̆͗o̱͚͉͉̖̰̪ͯ̈ͪ̈̎̚ cd6db88295 Fix toNumber consistency issue with boolean (#2456)
As per https://tc39.es/ecma262/#table-11 `toNumber(false)` is supposed to be `+0`
2020-01-08 16:24:19 -05:00
Ms2ger 2fb0eca404 More tests for Unified NumberFormat. (#2454) 2020-01-08 16:23:01 -05:00
Frank Yung-Fong Tang 31f1bb5a75 Remove date related types for Intl.DisplayNames (#2448) 2019-12-23 13:07:36 -05:00
Frank Yung-Fong Tang 65e996ba81 Check the step 29 of InitializeDateTimeFormat (#2427) 2019-12-02 10:43:53 -05:00
Leo Balter aa9ba4b58f
Add tests for Intl.DisplayNames#resolvedOptions (#2405) 2019-11-13 10:50:18 -05:00
Leo Balter 21195de94c
Inital commit for Intl.DisplayNames tests (#2404) 2019-10-17 10:32:00 -04:00
Ms2ger 4b6efea2c6 Add more tests for DateTimeFormat.hourCycle/hour12. (#2385)
In particular, when using dateStyle/timeStyle.

See also <https://github.com/tc39/proposal-intl-datetime-style/issues/34>.
2019-10-15 12:39:34 -04:00
Frank Yung-Fong Tang 146ef7db57 add features: [Intl.DateTimeFormat-formatRange] (#2403) 2019-10-10 15:27:20 -04:00
Leo Balter 98883a577e
Use canonical format for the description in the metatags (#2401)
Ref #2387
2019-10-10 11:30:26 -04:00
Leo Balter 4182972a49
Merge pull request #2396 from leobalter/2381/yaml
Yaml consistency
2019-10-09 13:29:16 -04:00
Frank Yung-Fong Tang 79591ae6c8 Add test for #349 and #351 PR (#2379)
Test DateTimeFormat change pattern based on calendar and output relatedYear and yearName
based on the assumption that "en-u-ca-chinese" will output 'relatedYear' and 'yearName'.
https://github.com/tc39/ecma402/pull/349
https://github.com/tc39/ecma402/pull/351
@rwaldron @leobalter @Ms2ger @littledan
2019-10-08 14:54:02 -04:00
Leo Balter 2b48ec7a00 More yaml and whitespace fixes
Ref #2383
2019-10-08 14:50:57 -04:00
Leo Balter 917e6f7f99 Yaml consistency
Ref #2381
2019-10-08 14:48:59 -04:00
Frank Yung-Fong Tang 79a01f5122 Add tests for 'numberingSystem' and 'calendar' options (#2383)
* Add tests for 'numberingSystem' option

* add constructor-numberingSystem-order.js

* correct esid

* initial actual

* add let

* add constructor-calendar-numberingSystem-order.js
2019-10-08 14:48:46 -04:00
Frank Yung-Fong Tang b073c48b49 Add test to ensure Intl.DateTimeFormat choose pattern by calendar (#2381)
* Add test for different pattern based on calendar

* Add test for formatRangeToParts

* remove  debug print

* fix typo

* fix typo

* address review feedback

* address review feedback

* change the map and use string template

* rewrite maps and use string template
2019-10-08 14:44:41 -04:00
Frank Yung-Fong Tang 8f6369d1c4 Add more tests for ListFormat (#2387)
* add tests for ListFormat

address https://github.com/tc39/test262/issues/2386

* add test for formatToParts(undefined)

* test GetIterator throw error

* test formatToParts while GetIterator throws error

* test formatToParts while step_iterator throw

* test format while iteratorStep throw

* fix object name

* test format while IteratorValue throws

* test formatToParts while iteratorValue throws

* test formatToParts while iteratorClose call return

* check format with iteratorClose calls return
2019-10-08 14:42:42 -04:00
Frank Yung-Fong Tang 2715f312db Add tests for ListFormat StringListFromIterable ( iterable ) (#2380)
* Add tests for StringListFromIterable

* add case throw TypeError

* add test for formatToParts

* add test for formatToParts
2019-10-08 14:42:26 -04:00
Alexey Shvayka 34cbf0aed2 Add "proto-from-ctor-realm" tests for Intl proposals (#2346)
* Add Intl.Segmenter test

* Add Intl.RelativeTimeFormat test

* Add Intl.Locale test

* Add Intl.ListFormat test
2019-10-08 14:39:52 -04:00
Leo Balter e2903e2648
Merge pull request #2366 from bocoup/unnecessary-includes
Remove unnecessary "includes" directives
2019-09-27 16:46:22 -04:00
Frank Yung-Fong Tang 0213936e95 remove test for abandon ecma402/pull/345 (#2368)
https://github.com/tc39/ecma402/pull/345
2019-09-26 14:23:24 -04:00
Mike Pennisi f26c2a11bd Remove unnecessary "includes" directives
The values defined by the referenced files are not used by these tests.
This makes their inclusion superfluous, which needlessly increases the
time to execute the tests and may confuse some readers.
2019-09-25 13:59:24 -04:00
Alexey Shvayka ef7fd2bc27 Add "proto-from-ctor-realm" tests for Intl constructors (#2334)
* Rename "Object/proto-from-ctor.js" test

* Add missing "Symbol" features

* Add Intl.Collator test

* Add Intl.DateTimeFormat test

* Add Intl.NumberFormat test

* Add Intl.PluralRules test
2019-09-11 17:22:21 -03:00
André Bargull 59a1a016b7 Assign "name" property to all anonymous functions (#2299)
Implements the changes from <https://github.com/tc39/ecma262/pull/1490>.
2019-08-15 10:58:40 -04:00
Ms2ger 70a07985a5 Unified Intl.NumberFormat: Various tests (#2275)
* Unified Intl.NumberFormat: Test compact notation with various locales.

* Unified Intl.NumberFormat: Test compactDisplay constructor option.

* Unified Intl.NumberFormat: Test signDisplay constructor option.

* Unified Intl.NumberFormat: Test signDisplay with various locales.

* Unified Intl.NumberFormat: Test signDisplay with accounting currencySign in various locales.

* Unified Intl.NumberFormat: Test engineering and scientific notations in various locales.

* Unified Intl.NumberFormat: Test unit handling.

* Unified Intl.NumberFormat: Test notation constructor option.

* Unified Intl.NumberFormat: Test engineering and scientific notations with negative exponents.

* Unified Intl.NumberFormat: Test near-zero arguments with signDisplay.

* Unified Intl.NumberFormat: Test units.

* Unified Intl.NumberFormat: Test unit arguments.

* Unified Intl.NumberFormat: Add a generic test for unit arguments.

* Unified Intl.NumberFormat: Test the unitDisplay argument.
2019-08-14 12:47:05 -04:00
André Bargull 99f75984db Fix expected test values (#2261)
These two slipped through the cracks in #2097:

test/intl402/Intl/getCanonicalLocales/non-iana-canon.js
- Variant subtag canonicalisation is currrently not allowed.

test/intl402/Locale/getters.js
- Only the first "loc.caseFirst" test in this file was updated in #2097.
2019-07-30 10:53:44 -04:00
Leo Balter 1cb241cf36
Merge pull request #2097 from anba/canonical-jan2019
Fix various test issues (Was: Unicode BCP 47 Locale Identifier changes)
2019-07-22 08:57:24 -04:00
Frank Yung-Fong Tang 76eca53cb8 add fractionalSecondDigits.js for formatRange (#2242) 2019-07-22 08:54:24 -04:00
André Bargull 50331bd641 Correct expected value for Intl.Locale 'caseFirst'
An empty string is expected with the current proposal text.
2019-07-22 02:24:48 -07:00
André Bargull 8b725e3957 Updates test for Intl.NumberFormat Unified API Proposal changes. 2019-07-22 02:12:27 -07:00
André Bargull 589ef945fa Sort variants added to grandfathered tag
And add an explanation for a previously removed and now re-added assertion.
2019-07-22 02:12:21 -07:00
André Bargull 7b556c6ff2 Intl.getCanonicalLocales changes for UTS 35
intl402/Intl/getCanonicalLocales/canonicalized-tags.js
- Sign languages are no longer canonicalised.
- Variant subtags are sorted alphabetically.

intl402/Intl/getCanonicalLocales/preferred-grandfathered.js
- Canonical form of "cel-gaulish" is "xtg-x-cel-gaulish".

intl402/Intl/getCanonicalLocales/preferred-variant.js
- Variant subtags are no longer canonicalised.
2019-07-22 02:12:18 -07:00
André Bargull e2ad1357c7 Update Intl.Locale tests for UTS 35
constructor-non-iana-canon.js
- Variant subtag canonicalisation is currently no longer present.

constructor-options-region-valid.js
- Digit region codes are now canonicalised.

constructor-tag.js
- Variant subtags are now sorted alphabetically.

likely-subtags-grandfathered.js
- "cmn" is now canonicalised to "zh".
2019-07-22 02:12:17 -07:00
André Bargull 1edeb484b8 Include locales supported through fallback when testing fallbacks
This test started failing when updating to ICU 64, because ICU supports "zh"
and "zh-Hans-CN", but not explicitly also "zh-Hans", which is required for this
test to pass. The same kind of error is reproducible with ICU <64 when "Guru"
is added to the list of script codes in 'testIntl.js', because ICU supports
"pa-Guru-IN", but "pa-IN" isn't explicitly supported, too.

So, change this test to also check 'byFallback' to see if a locale is supported.

Drive-by change:
- Modernise the test to make it more readable how subtags are combined.
- Also add "419" to the list of region codes to cover the digit region syntax.
2019-07-22 02:12:05 -07:00
André Bargull f7e8dba39b Update tests to parse language tags as Unicode BCP 47 Locale Identifiers
harness/testIntl.js
- Add now invalid tags to getInvalidLanguageTags, these tags were previously used in test files changed in this commit.
- Update isCanonicalizedStructurallyValidLanguageTag regular expressions.

test/intl402/Intl/getCanonicalLocales/canonicalized-tags.js
- Moved five now invalid tags to getInvalidLanguageTags function in testIntl.js

test/intl402/Intl/getCanonicalLocales/preferred-grandfathered.js
- All irregular grandfathered tags are invalid now
- Regular grandfathered with extlang subtags are now also invalid
- Regular grandfathered with variant-like subtags are still valid

test/intl402/Intl/getCanonicalLocales/weird-cases.js
- Revert changes from last commit
- "x-u-foo" is now invalid and was moved to getInvalidLanguageTags function

test/intl402/ListFormat/constructor/constructor/locales-valid.js
test/intl402/RelativeTimeFormat/constructor/constructor/locales-valid.js
test/intl402/Segmenter/constructor/constructor/locales-valid.js
- Irregular grandfathered and privateuse only are no longer valid language tags

test/intl402/language-tags-canonicalized.js
- Same changes as in test/intl402/Intl/getCanonicalLocales/canonicalized-tags.js

test/intl402/language-tags-invalid.js
- Invalid tags list in this file was a subset of getInvalidLanguageTags, so replaced with getInvalidLanguageTags to get more coverage

test/intl402/language-tags-valid.js
- Same changes as in test/intl402/Intl/getCanonicalLocales/canonicalized-tags.js
2019-07-21 05:44:21 -07:00
André Bargull 94053978bc Update language tag canonicalisation per UTS35
Main changes:
- "cmn" is now canonicalised to "zh"
- "und-x-" is prepended before grandfathered tags without modern replacements
- "und-" is prepended before privateuse-only language tags
2019-07-21 05:44:21 -07:00