Check for relevant zones existing when adding data rows
tst_QDate::startOfDay_endOfDay_data() naively assumed some zones would exist. They don't on QNX, apparently. Change-Id: I3a364964d03f59f5869b4b7639f089dd303180b1 Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>bb10
parent
0cad974d0d
commit
bcc15f36cc
|
|
@ -475,23 +475,32 @@ void tst_QDate::startOfDay_endOfDay_data()
|
|||
|
||||
const QTime initial(0, 0), final(23, 59, 59, 999), invalid(QDateTime().time());
|
||||
|
||||
// UTC is always a valid zone.
|
||||
QTest::newRow("epoch")
|
||||
<< QDate(1970, 1, 1) << QByteArray("UTC")
|
||||
<< initial << final;
|
||||
QTest::newRow("Brazil")
|
||||
<< QDate(2008, 10, 19) << QByteArray("America/Sao_Paulo")
|
||||
<< QTime(1, 0) << final;
|
||||
if (QTimeZone("America/Sao_Paulo").isValid()) {
|
||||
QTest::newRow("Brazil")
|
||||
<< QDate(2008, 10, 19) << QByteArray("America/Sao_Paulo")
|
||||
<< QTime(1, 0) << final;
|
||||
}
|
||||
#if QT_CONFIG(icu) || !defined(Q_OS_WIN) // MS's TZ APIs lack data
|
||||
QTest::newRow("Sofia")
|
||||
<< QDate(1994, 3, 27) << QByteArray("Europe/Sofia")
|
||||
<< QTime(1, 0) << final;
|
||||
if (QTimeZone("Europe/Sofia").isValid()) {
|
||||
QTest::newRow("Sofia")
|
||||
<< QDate(1994, 3, 27) << QByteArray("Europe/Sofia")
|
||||
<< QTime(1, 0) << final;
|
||||
}
|
||||
#endif
|
||||
QTest::newRow("Kiritimati")
|
||||
<< QDate(1994, 12, 31) << QByteArray("Pacific/Kiritimati")
|
||||
<< invalid << invalid;
|
||||
QTest::newRow("Samoa")
|
||||
<< QDate(2011, 12, 30) << QByteArray("Pacific/Apia")
|
||||
<< invalid << invalid;
|
||||
if (QTimeZone("Pacific/Kiritimati").isValid()) {
|
||||
QTest::newRow("Kiritimati")
|
||||
<< QDate(1994, 12, 31) << QByteArray("Pacific/Kiritimati")
|
||||
<< invalid << invalid;
|
||||
}
|
||||
if (QTimeZone("Pacific/Apia").isValid()) {
|
||||
QTest::newRow("Samoa")
|
||||
<< QDate(2011, 12, 30) << QByteArray("Pacific/Apia")
|
||||
<< invalid << invalid;
|
||||
}
|
||||
// TODO: find other zones with transitions at/crossing midnight.
|
||||
}
|
||||
|
||||
|
|
@ -502,6 +511,7 @@ void tst_QDate::startOfDay_endOfDay()
|
|||
QFETCH(QTime, start);
|
||||
QFETCH(QTime, end);
|
||||
const QTimeZone zone(zoneName);
|
||||
QVERIFY(zone.isValid());
|
||||
const bool isSystem = QTimeZone::systemTimeZone() == zone;
|
||||
QDateTime front(date.startOfDay(zone)), back(date.endOfDay(zone));
|
||||
if (end.isValid())
|
||||
|
|
|
|||
Loading…
Reference in New Issue