Commit Graph
11 Commits
Author SHA1 Message Date
MarcZX10 56947540a6 test(libSceSystemService): cover the POSIX host locale source with injected environments
Checks the LC_ALL, LC_MESSAGES, LANG precedence with empty and unset
variables, that other categories are not read, and the LANGUAGE rules: its
entries come first under a real locale, empty entries are skipped, and it is
ignored under C, POSIX, C.UTF-8 and when nothing else is set.
2026-10-29 08:51:17 +00:00
MarcZX10 79692c44ef test(libSceSystemService): cover the locale fallback rules
Checks that every console language is reached by a tag of its own, that
unrecognised locales (empty, C, POSIX, malformed, languages the console has no
entry for such as lt, he, hi, ca and sr) give English (United States) and are
reported as unrecognised, and that a recognised language with an unknown
region or script takes its main row.
2026-10-29 08:51:17 +00:00
MarcZX10 678cfa6f71 test(libSceSystemService): cover the Arabic, Thai, Vietnamese, Indonesian, Turkish, Greek and Hungarian rows
Checks each language with several regions and POSIX spellings, the legacy in
code, and ar-001 (the world region).
2026-10-29 08:51:17 +00:00
MarcZX10 f1530f3734 test(libSceSystemService): cover the Slavic and Nordic locale rows
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.
2026-10-29 08:51:17 +00:00
MarcZX10 f365e87c52 test(libSceSystemService): cover the Japanese and Korean locale rows
Checks ja and ko with and without a region, with explicit scripts and with
POSIX codesets, including the legacy eucJP codeset.
2026-10-29 08:51:17 +00:00
MarcZX10 cbf394c842 test(libSceSystemService): cover the Chinese locale rows
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.
2026-10-29 08:51:17 +00:00
MarcZX10 cc521b8cea test(libSceSystemService): cover the Spanish and Portuguese locale 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.
2026-10-29 08:51:16 +00:00
MarcZX10 6478422bca test(libSceSystemService): cover the Latin-script European locale rows
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).
2026-10-29 08:51:16 +00:00
MarcZX10 83e0bfdfd6 test(libSceSystemService): cover parsing a locale in either form
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.
2026-10-29 08:51:16 +00:00
MarcZX10 c386fbe7f7 test(libSceSystemService): cover POSIX locale name normalisation
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.
2026-10-29 08:51:16 +00:00
MarcZX10 238bf96bcc test(libSceSystemService): cover the BCP-47 locale tag parser
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.
2026-10-29 08:51:16 +00:00