From c464f67db45e20fb757bacd700b2d5ebbd9d6d05 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Tue, 28 May 2024 10:24:19 +0200 Subject: [PATCH] tst_QTimeZone::stdCompatibility(): fix handling of unknown IDs Follow-up to commit 69555b364d5f398dec2e66c1f969cf3bfdc44057, using QTimeZone::isTimeZoneIdAvailable() instead of trying to construct an ad-hoc test for known unknonwn zone IDs. Reopens: QTBUG-102187 Fixes: QTBUG-102187 Change-Id: I36ff4f1dfbc4035d73df5b8fd68376c1bc9641e1 Reviewed-by: Thiago Macieira --- .../auto/corelib/time/qtimezone/tst_qtimezone.cpp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp index c746dbc2d99..19c3119df58 100644 --- a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp +++ b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp @@ -1859,18 +1859,10 @@ void tst_QTimeZone::stdCompatibility() QFETCH(const std::chrono::time_zone *, timeZone); QByteArrayView zoneName = QByteArrayView(timeZone->name()); QTimeZone tz = QTimeZone::fromStdTimeZonePtr(timeZone); - if (tz.isValid()) { + if (tz.isValid()) QCOMPARE(tz.id(), zoneName); - } else { - // QTBUG-102187: a few timezones reported by tzdb might not be - // recognized by QTimeZone. This happens for instance on Windows, where - // tzdb is using ICU, whose database does not match QTimeZone's. - const bool isKnownUnknown = - !zoneName.contains('/') - || zoneName == "Antarctica/Troll" - || zoneName.startsWith("SystemV/"); - QVERIFY(isKnownUnknown); - } + else + QVERIFY(!QTimeZone::isTimeZoneIdAvailable(zoneName.toByteArray())); #else QSKIP("This test requires C++20's ."); #endif