Checks every language of the group, the three Norwegian codes, and that the
Baltic and other Slavic languages the console has no entry for (lt, lv, et, sk,
sl, bg, sr, hr, be, is) are not mapped to a neighbour.
Checks Simplified and Traditional by region (CN, SG, TW, HK, MO), by script
(Hans, Hant), a script that contradicts the region (zh-Hans-TW, zh-Hant-CN),
an unknown script and region falling back to Simplified, and the Mandarin and
Cantonese rows.
Checks the Spain row, every Latin American country row, the es-419 region, the
Brazilian default for a bare pt, the Portuguese territories, and spellings
with case differences, POSIX codesets and an explicit script.
Maps English, French, German, Italian, Dutch and Romanian locales in BCP-47
and POSIX spellings, including the regional rows (en-GB, en-IE, en-AU, en-NZ,
fr-CA) and the regions that fall back to the main row (en-CA, en-IN, fr-BE,
fr-CH, de-AT, de-CH, nl-BE).
Checks that BCP-47 and POSIX spellings of the same locale give the same
language, script and region, that the @latin modifier supplies a script, and
that C, POSIX, empty and malformed texts are refused without writing the tag.
Checks NormalizePosixLocale on codesets, modifiers, the Latn and Cyrl script
modifiers (also where the name already has a script), names that are already
BCP-47, and C, POSIX and empty names, which must normalise to no locale.
Adds a host-only test, system_service_language_locale, for ParseTag: case
normalisation of the language, script and region subtags, the three-digit
region of es-419, variants and extensions that are ignored, and the inputs it
must reject (empty and oversized subtags, one-letter and long languages, the
POSIX underscore and codeset forms) without touching the output tag.