diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2022-08-03 15:57:08 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2022-08-15 18:19:16 +0200 |
commit | f02b132eaa2eebfc7183a591075b3ae05cb4a2b9 (patch) | |
tree | cb9e1a86ebd7ad4a20201c401207369aa9891a1d /tests | |
parent | 0fac2ae499d3411200a4f7af2db5228ea60e6178 (diff) |
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)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp | 53 |
1 files changed, 39 insertions, 14 deletions
diff --git a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp index 354a5f182f..7111dd76ed 100644 --- a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp +++ b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp @@ -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() |