Commit Graph

449 Commits

Author SHA1 Message Date
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