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.

Adapted on cherry-picking to make the tests work with their old
columns rather than simplifying to a single column.

Task-number: QTBUG-105322
Change-Id: Ifafb40a9b78d9314b74ca9a1710d362b9a3cb18d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit d1d43b231f4c7c5663cb49875c2e5876f352b564)
This commit is contained in:
Edward Welbourne 2022-08-03 15:57:08 +02:00
parent 0fac2ae499
commit f02b132eaa

View File

@ -524,13 +524,26 @@ void tst_QDateTimeEdit::constructor_qdate()
testWidget->hide();
QDateTimeEdit dte(parameter);
dte.show();
QCOMPARE(dte.dateTime(), displayDateTime);
QCOMPARE(dte.minimumDate(), minimumDate);
QCOMPARE(dte.minimumTime(), minimumTime);
QCOMPARE(dte.maximumDate(), maximumDate);
QCOMPARE(dte.maximumTime(), maximumTime);
{
QDateTimeEdit dte(parameter);
dte.show();
QCOMPARE(dte.dateTime(), displayDateTime);
QCOMPARE(dte.minimumDate(), minimumDate);
QCOMPARE(dte.minimumTime(), minimumTime);
QCOMPARE(dte.maximumDate(), maximumDate);
QCOMPARE(dte.maximumTime(), maximumTime);
}
{
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);
QCOMPARE(dte.date(), displayDateTime.date());
QCOMPARE(dte.minimumDate(), minimumDate);
QCOMPARE(dte.minimumTime(), minimumTime);
QCOMPARE(dte.maximumDate(), maximumDate);
QCOMPARE(dte.maximumTime(), maximumTime);
}
}
void tst_QDateTimeEdit::constructor_qtime_data()
@ -564,13 +577,25 @@ void tst_QDateTimeEdit::constructor_qtime()
testWidget->hide();
QDateTimeEdit dte(parameter);
dte.show();
QCOMPARE(dte.dateTime(), displayDateTime);
QCOMPARE(dte.minimumDate(), minimumDate);
QCOMPARE(dte.minimumTime(), minimumTime);
QCOMPARE(dte.maximumDate(), maximumDate);
QCOMPARE(dte.maximumTime(), maximumTime);
{
QDateTimeEdit dte(parameter);
dte.show();
QCOMPARE(dte.dateTime(), displayDateTime);
QCOMPARE(dte.minimumDate(), minimumDate);
QCOMPARE(dte.minimumTime(), minimumTime);
QCOMPARE(dte.maximumDate(), maximumDate);
QCOMPARE(dte.maximumTime(), maximumTime);
}
{
QTimeEdit dte(parameter);
dte.show();
QEXPECT_FAIL("", "QTBUG-105322: constructors use wrong spec", Abort);
QCOMPARE(dte.time(), displayDateTime.time());
QCOMPARE(dte.minimumDate(), minimumDate);
QCOMPARE(dte.minimumTime(), minimumTime);
QCOMPARE(dte.maximumDate(), maximumDate);
QCOMPARE(dte.maximumTime(), maximumTime);
}
}
void tst_QDateTimeEdit::minimumDate_data()