qt5base-lts/tests/auto
Tor Arne Vestbø d8158c6c93 macOS: Be honest about the system locale
The system locale of a macOS application is not affected by environment
variables like LANG. Yet, we were reporting a name determined from
environment variables as the fallbackUiLocale(), rather than one based
on the language and country of the actual system locale.

This lead, via the usual CLDR likely-subtag fallback, to claiming the
system locale's name, language, script and country were those obtained
from these environment variables, even when they were at odds with the
actual locale being used by the system, which was being used for some
queries.

Worse yet, any data not supplied by these queries was being obtained
from the same CLDR locale as the name, making for an inconsistent mix
of locale data.

While we cannot avoid the likely-subtag fallback step for fallback
data, it is more consistent to use the actual system locale's name
as start-point for that fallback.

At the same time, add support for the language, script and country
queries, so that the QLocale::system() describes itself faithfully,
instead of claiming to be the locale that results from that fallback.

If we want to support LANG or other environment variable overrides,
they should be handled by the layer above the system locale, by
changing the default locale of the Qt application, as if the user
had called QLocale::setDefault().

[ChangeLog][QtCore][QLocale] QLocale::system() on macOS no longer
pretends to support LANG or other environment variables as overrides,
as this is not a feature that the system locale on macOS supports.
To override the locale of an application, use QLocale::setDefault(),
or pass -AppleLocale en_US.

Fixes: QTBUG-90971
Change-Id: Ibdaf5ff9a2050f61233a88eabf3c29094f7757f1
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2021-02-11 15:01:45 +01:00
..
cmake Fix qt_add_big_resources with namespace builds 2021-01-19 14:17:55 +01:00
concurrent Fix a few compiler warnings in tests 2021-02-02 12:06:05 +01:00
corelib macOS: Be honest about the system locale 2021-02-11 15:01:45 +01:00
dbus dbus: Fix missing QVersionNumber include 2021-01-25 12:09:17 +01:00
gui Fix recently added auto test of text layout overflow 2021-02-10 21:17:09 +01:00
guiapplauncher Move QStateMachine from QtCore to QtScxml 2020-08-24 20:10:25 +02:00
network Fix a few compiler warnings in tests 2021-02-02 12:06:05 +01:00
opengl Remove the qmake project files 2021-01-07 15:32:28 +01:00
other Split up the QMetaType unit test 2021-02-09 14:27:20 +01:00
printsupport Remove the qmake project files 2021-01-07 15:32:28 +01:00
shared Remove false Q_UNREACHABLE from shaping code 2021-02-03 09:44:44 +01:00
sql Fix a few compiler warnings in tests 2021-02-02 12:06:05 +01:00
testlib QTestlib/JUnit XML: Log most messages to standard output instead of error output 2021-01-15 18:05:40 +01:00
tools Remove blacklisting for b2qt tests that now pass 2021-01-28 09:27:14 +02:00
widgets QPlainTextEdit: adjust scroll bars when showing up 2021-02-09 20:00:59 +08:00
xml tst_qdom: clean-up the code enabled only before Qt 6 2021-01-15 15:22:08 +01:00
CMakeLists.txt CMake: Fix building with -DQT_FEATURE_gui=OFF 2020-09-15 20:05:32 +02:00
network-settings.h Replace QtTest headers with QTest 2020-12-22 15:20:30 +01:00