Expand QDateTime edit constructor tests to cover Q(Date|Time)Edit
The constructor_qdate() and constructor_qtime() tests only tested QDateTimeEdit with a QDate or QTime. Extend them to also test QDateEdit and QTimeEdit constructors, respectively. This revealed one surprise; the QDateEdit constructor doesn't replace an invalid QDate with the usual start-date, as the QDateTimeEdit does. It also serves to reproduce a bug reported in Qt 6.3, see Task-number. These are all marked XFail for now. Task-number: QTBUG-105322 Change-Id: Ifafb40a9b78d9314b74ca9a1710d362b9a3cb18d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>bb10
parent
4579ec04a4
commit
d1d43b231f
|
|
@ -491,16 +491,32 @@ void tst_QDateTimeEdit::constructor_qdate()
|
|||
QFETCH(QDate, parameter);
|
||||
testWidget->hide();
|
||||
|
||||
QDateTimeEdit dte(parameter);
|
||||
dte.show();
|
||||
if (QByteArrayView(QTest::currentDataTag()) == "invalid")
|
||||
QCOMPARE(dte.dateTime(), QDateTime(QDate(2000, 1, 1), QTime(0, 0)));
|
||||
else
|
||||
QCOMPARE(dte.dateTime(), QDateTime(parameter, QTime(0, 0)));
|
||||
QCOMPARE(dte.minimumDate(), QDate(1752, 9, 14));
|
||||
QCOMPARE(dte.minimumTime(), QTime(0, 0));
|
||||
QCOMPARE(dte.maximumDate(), QDate(9999, 12, 31));
|
||||
QCOMPARE(dte.maximumTime(), QTime(23, 59, 59, 999));
|
||||
{
|
||||
QDateTimeEdit dte(parameter);
|
||||
dte.show();
|
||||
if (QByteArrayView(QTest::currentDataTag()) == "invalid")
|
||||
QCOMPARE(dte.dateTime(), QDateTime(QDate(2000, 1, 1), QTime(0, 0)));
|
||||
else
|
||||
QCOMPARE(dte.dateTime(), QDateTime(parameter, QTime(0, 0)));
|
||||
QCOMPARE(dte.minimumDate(), QDate(1752, 9, 14));
|
||||
QCOMPARE(dte.minimumTime(), QTime(0, 0));
|
||||
QCOMPARE(dte.maximumDate(), QDate(9999, 12, 31));
|
||||
QCOMPARE(dte.maximumTime(), QTime(23, 59, 59, 999));
|
||||
}
|
||||
{
|
||||
QDateEdit dte(parameter);
|
||||
dte.show();
|
||||
QEXPECT_FAIL("normal", "QTBUG-105322: constructors use wrong spec", Continue);
|
||||
QEXPECT_FAIL("invalid", "Constructor neglects default replacement of invalid", Continue);
|
||||
if (QByteArrayView(QTest::currentDataTag()) == "invalid")
|
||||
QCOMPARE(dte.date(), QDate(2000, 1, 1));
|
||||
else
|
||||
QCOMPARE(dte.date(), parameter);
|
||||
QCOMPARE(dte.minimumDate(), QDate(1752, 9, 14));
|
||||
QCOMPARE(dte.minimumTime(), QTime(0, 0));
|
||||
QCOMPARE(dte.maximumDate(), QDate(9999, 12, 31));
|
||||
QCOMPARE(dte.maximumTime(), QTime(23, 59, 59, 999));
|
||||
}
|
||||
}
|
||||
|
||||
void tst_QDateTimeEdit::constructor_qtime_data()
|
||||
|
|
@ -516,16 +532,31 @@ void tst_QDateTimeEdit::constructor_qtime()
|
|||
QFETCH(QTime, parameter);
|
||||
testWidget->hide();
|
||||
|
||||
QDateTimeEdit dte(parameter);
|
||||
dte.show();
|
||||
if (QByteArrayView(QTest::currentDataTag()) == "invalid")
|
||||
QCOMPARE(dte.dateTime(), QDateTime(QDate(2000, 1, 1), QTime(0, 0)));
|
||||
else
|
||||
QCOMPARE(dte.dateTime(), QDateTime(QDate(2000, 1, 1), parameter));
|
||||
QCOMPARE(dte.minimumDate(), QDate(2000, 1, 1));
|
||||
QCOMPARE(dte.minimumTime(), QTime(0, 0));
|
||||
QCOMPARE(dte.maximumDate(), QDate(2000, 1, 1));
|
||||
QCOMPARE(dte.maximumTime(), QTime(23, 59, 59, 999));
|
||||
{
|
||||
QDateTimeEdit dte(parameter);
|
||||
dte.show();
|
||||
if (QByteArrayView(QTest::currentDataTag()) == "invalid")
|
||||
QCOMPARE(dte.dateTime(), QDateTime(QDate(2000, 1, 1), QTime(0, 0)));
|
||||
else
|
||||
QCOMPARE(dte.dateTime(), QDateTime(QDate(2000, 1, 1), parameter));
|
||||
QCOMPARE(dte.minimumDate(), QDate(2000, 1, 1));
|
||||
QCOMPARE(dte.minimumTime(), QTime(0, 0));
|
||||
QCOMPARE(dte.maximumDate(), QDate(2000, 1, 1));
|
||||
QCOMPARE(dte.maximumTime(), QTime(23, 59, 59, 999));
|
||||
}
|
||||
{
|
||||
QTimeEdit dte(parameter);
|
||||
dte.show();
|
||||
QEXPECT_FAIL("", "QTBUG-105322: constructors use wrong spec", Abort);
|
||||
if (QByteArrayView(QTest::currentDataTag()) == "invalid")
|
||||
QCOMPARE(dte.time(), QTime(0, 0));
|
||||
else
|
||||
QCOMPARE(dte.time(), parameter);
|
||||
QCOMPARE(dte.minimumDate(), QDate(2000, 1, 1));
|
||||
QCOMPARE(dte.minimumTime(), QTime(0, 0));
|
||||
QCOMPARE(dte.maximumDate(), QDate(2000, 1, 1));
|
||||
QCOMPARE(dte.maximumTime(), QTime(23, 59, 59, 999));
|
||||
}
|
||||
}
|
||||
|
||||
void tst_QDateTimeEdit::minimumDate_data()
|
||||
|
|
|
|||
Loading…
Reference in New Issue