qt6-bb10/tests/auto
Edward Welbourne 9399ffd301 Fix TZ backend to include CLDR-known zones by territory
As previously noted, this backend uses the legacy zone.tab file, which
only gives one territory for each entry, where zone1970.tab gives
several. Until we switch to using the latter, we thus don't know all
the territories in which an IANA ID is used. However, we do have such
data from CLDR and deploy it in the default backend to filter the list
of all available IDs. As a result, the TZ backend lacks some results
of filtering by territory that the base-class would get for it,
because the CLDR data associates more territories with some IDs.

It implements the overload because its lookups in a hash are
potentially more efficient than generating its full list in order to
iterate it while intersecting with a CLDR-derived list of candidates.
Leverage that hash also to do efficient intersecting with the
CLDR-derived list, which lets us avoid duplicates almost for free, to
make the subsequent union with the directly-derived entries from
zone.tab efficient. This incidentally resolves a TODO about handling
of QLocale::AnyTerritory. In the process, add more notes to the
zone{1970,}.tab details.

Restructure the base-class implementations of filtered available IDs
to separate their generation of a CLDR-derived list of candidates from
the intersection of that with the available IDs. For the territory
overload, this lets the TZ backend share the CLDR-derived list; for
symmetry, do the same to the offset-filter, too. (This also makes each
function responsible for fewer things.) Similar treatment may also be
needed for the ICU and chrono::tzdb backends, since the former also
overloads the territory filter and both overload the offset filter.
However, leave those for now (with comments added on the possibility)
until we have evidence they actually do need this.

On picking to 6.8, the chrono::tzdb backend part is gone, as that's
new in 6.9. QTZP_p.h also had a trivially-resolved conflict due to
adjacent 6.9-new content sharing the new protected: block. The initial
pick's conflict in tst_qtimezone.cpp is resolved by picking onto the
correct parent.

Task-number: QTBUG-130877
Task-number: QTBUG-64941
Change-Id: Ibb347df88dd14b55f8f580bb4c9e37e5c56a533a
Reviewed-by: Mate Barany <mate.barany@qt.io>
(cherry picked from commit 54c2d6ded779c3b9843fa18535b79ababa0d1a74)
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-12-05 20:26:43 +01:00
..
bic/data Add 6.8.0 binary compatibility file 2024-10-17 19:30:33 +00:00
cmake Bump version to 6.8.2 2024-11-14 15:04:34 +00:00
concurrent tst_QtConcurrentThreadEngine: fix UB (uninitialized boolean) 2024-07-06 10:17:50 +00:00
corelib Fix TZ backend to include CLDR-known zones by territory 2024-12-05 20:26:43 +01:00
dbus QtDBus: disallow sending method calls without destinations on a bus 2024-10-22 07:17:08 +00:00
gui test: Fix test for oblique/italic equivalence 2024-11-19 13:06:56 +00:00
guiapplauncher Convert "Color Editor Factory" Example to snippets 2024-04-19 13:39:41 +02:00
network tst_QSslServer: check if SecureTransport will block the test 2024-11-09 09:26:40 +00:00
opengl tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
other Fix tst_gestures flakiness on XCB 2024-11-14 17:45:35 +00:00
printsupport tests: blacklist tst_QPrinter::testPrintPreviewDialog() 2024-08-12 09:43:38 +00:00
shared Introduce flag to use typographical line metrics for fonts 2024-05-31 19:30:53 +02:00
sql Tests: Reduce the number of module includes 2024-11-04 19:42:27 +00:00
testlib selftests/silent_fatal: disable core dumps and MSVC debug dialogs 2024-12-04 01:47:11 +00:00
tools moc: Do not get confused by constexpr token in functions 2024-11-29 14:47:56 +00:00
wasm wasm: Fix focus handling 2024-11-27 06:47:13 +00:00
widgets Fix flakiness in tst_QWidget::saveRestoreGeometry() 2024-11-29 16:58:42 +00:00
xml Tests: Reduce the number of module includes 2024-11-04 19:42:27 +00:00
CMakeLists.txt tst_QSettings: port to QTEST_THROW_ON_FAIL 2024-06-27 06:06:02 +00:00
network-helpers.h network-helpers.h: add a missing include 2024-11-02 16:25:06 +00:00
network-settings.h Change license for tests files 2024-02-04 09:56:42 +01:00