• Jungshik Shin's avatar
    Fix canonicalization of grandfathered tags · f24b575d
    Jungshik Shin authored
    ICU maps a few grandfathered tags to made-up values even when there
    is no preferred value entry in the IANA language tag registry. [1]
    
    1. Check for grandfathered tags without preferred value upfront
       and return them as they're.
    2. Lowercase the input before structural validity check to simplify
       check for grandfathered tag without preferred value as well
       as regexps used in the structural validity check.
    
    intl/general/grandfathered_tags_without_preferred_value is added and
    intl/general/language_tags_with_preferred_values is changed to check
    for case-insensitive matching of grandfathered tags.
    
    [1] https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
    
    Bug: v8:7669
    Test: test262/intl402/Intl/getCanonicalLocales/preferred-grandfathered
    Test: intl/general/grandfathered_tags_without_preferred_value
    Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
    Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
    Change-Id: Ie0520de8712928300fd71fe152909789483ec256
    Reviewed-on: https://chromium-review.googlesource.com/1156529
    Commit-Queue: Jungshik Shin <jshin@chromium.org>
    Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54829}
    f24b575d
intl-objects.cc 79 KB