From ca4aa065230d3524479f4a5cdbc077d11cc62e5d Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Fri, 24 Mar 2023 13:49:26 +0100 Subject: [PATCH] Add new test-case for startOfDay_endOfDay() for Baja Mexico The zones in Baja Mexico had a transition at the epoch. Change-Id: Ic70e23bcc980bf371e925fcb8fb83ca5ef000c9f Reviewed-by: Thiago Macieira --- tests/auto/corelib/time/qdate/tst_qdate.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/auto/corelib/time/qdate/tst_qdate.cpp b/tests/auto/corelib/time/qdate/tst_qdate.cpp index dd05f001f8..302f58d00a 100644 --- a/tests/auto/corelib/time/qdate/tst_qdate.cpp +++ b/tests/auto/corelib/time/qdate/tst_qdate.cpp @@ -504,6 +504,13 @@ void tst_QDate::startOfDay_endOfDay_data() QTest::newRow("epoch") << epochDate() << QByteArray("UTC") << early << late; + + if (QTimeZone("America/Hermosillo").isValid()) { + // The western Mexico time-zones skipped the first hour of 1970. + QTest::newRow("BajaMexico") + << QDate(1970, 1, 1) << QByteArray("America/Hermosillo") + << invalid << late; + } if (QTimeZone("America/Sao_Paulo").isValid()) { QTest::newRow("Brazil") << QDate(2008, 10, 19) << QByteArray("America/Sao_Paulo") @@ -566,6 +573,7 @@ void tst_QDate::startOfDay_endOfDay() } while (isSystem); if (end.isValid()) QCOMPARE(date.addDays(1).startOfDay().addMSecs(-1), back); + // Fails epoch in western Mexico; see America/Hermosillo. if (start.isValid()) QCOMPARE(date.addDays(-1).endOfDay().addMSecs(1), front); if (!isSystem) {