Fix symbol names to be locale independent
We currently use upper() to present enum values, which are usually defined in lower case in the typelib, in upper cases. However, upper() is locale dependent, so that e. g. in tr_TR.UTF-8, "invalid" becomes "iNVALiD" because Turkish has some extra variants of "i". Use a local ASCII-only translate() call instead to avoid this. Thanks to Nils Philippsen for the idea! This also adds a test locale "te_ST@nouppera" which defines toupper('a') == 'a'. Run the Enum tests under this locale to reproduce the bug and verify the fix. https://bugzilla.gnome.org/show_bug.cgi?id=649165
parent
90530b52
Please register or sign in to comment