• Frank Tang's avatar
    [intl] Fix consistency in Intl API · a1e6efd8
    Frank Tang authored
    Fix several edge cases consistency issues with ICU discovered by test262 test by
    using Intl Enumeration API
    1. Work around ICU short coming of always fallback in currency display
     name so when the fallback is "none" in DisplayNames, the force fallback
    code will produce the correct undefined from the of(currency_code) method.
    2. Always check numbering system is not algorithm based numbering system
    to fix DateTimeFormat/RelativeTimeFormat/NumberFormat
    resolvedOptions().numberingSystem when the reqested numberingSystem is one
    of the numbering systems that we filter out the resources and not supported.
    3. Generalize the iso8601 bit solution in DateTimeFormat and rename it to
    alt_calendar bit to also fix DateTimeFormat resolvedOptions report
    calendar as "islamic" while requesting "islamic-rgsa".
    4. Work around reporting inconsistency of currency code and display name
    in ICU.
    
    Bug: v8:12209
    Change-Id: Ibd349ee55426fad7d6f20a5e93fb35ff7438e111
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3153576
    Commit-Queue: Frank Tang <ftang@chromium.org>
    Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77242}
    a1e6efd8
js-date-time-format.cc 83.7 KB