]> granicus.if.org Git - icu/commit
ICU-20140 Allow duplicated keys in U-extension per RFC 6067 (#136)
authorjungshik <jungshik@users.noreply.github.com>
Tue, 18 Sep 2018 17:23:12 +0000 (10:23 -0700)
committerShane Carr <shane@unicode.org>
Thu, 27 Sep 2018 21:27:40 +0000 (14:27 -0700)
commit4ed35d7bb53252b5daf34ecde285ff8b47e11ec8
treed02924cb724f2f105b6071fb207dc3a95d444ab1
parentd55773ce2891eec3787b7974997f5ea032edb099
ICU-20140 Allow duplicated keys in U-extension per RFC 6067 (#136)

* ICU-20140 Allow duplicated keys in U-extension per RFC 6067

RFC 6067 [1] does allow duplicate keywords, but ICU4C's
uloc_forLanguageCode rejects it as invalid.

Change it to accept duplicate keywords and honor only the
1st one while ignoring subsequent ones per RFC 6067.

[1] Unicode extension to BCP 47:
    https://tools.ietf.org/html/rfc6067

* ICU-20140 Add ICU4J test and tweak ICU4C test

ICU4J test diverges from ICU4C tests:

1. Handling of duplicate variants in ICU4J seem to be wrong:
   https://unicode-org.atlassian.net/browse/ICU-20148
2. ULocale.forLanguageTag only throws NullPointException so
   that ICU4C's test for duplicate attributes cannot be ported.
icu4c/source/common/uloc_tag.cpp
icu4c/source/test/cintltst/cloctst.c
icu4c/source/test/cintltst/cloctst.h
icu4j/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java