Fix handling of invalid input to Q(Date|Time)Edit constructors
Change to match how QDateTimeEdit()'s overloads taking a QDate or QTime work, substituting a default value in place of an invalid one. This fixes one surprising anomaly in a recently-extended test, so that it now only fails the way I expected. Task-number: QTBUG-105322 Change-Id: Ied4da6160b7efe70990f956798fb826b5b36d8bb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>bb10
parent
d1d43b231f
commit
a46a426b43
|
|
@ -1597,7 +1597,7 @@ QTimeEdit::QTimeEdit(QWidget *parent)
|
|||
*/
|
||||
|
||||
QTimeEdit::QTimeEdit(QTime time, QWidget *parent)
|
||||
: QDateTimeEdit(time, QMetaType::QTime, parent)
|
||||
: QDateTimeEdit(time.isValid() ? time : QDATETIMEEDIT_TIME_MIN, QMetaType::QTime, parent)
|
||||
{
|
||||
connect(this, &QTimeEdit::timeChanged, this, &QTimeEdit::userTimeChanged);
|
||||
}
|
||||
|
|
@ -1667,7 +1667,7 @@ QDateEdit::QDateEdit(QWidget *parent)
|
|||
*/
|
||||
|
||||
QDateEdit::QDateEdit(QDate date, QWidget *parent)
|
||||
: QDateTimeEdit(date, QMetaType::QDate, parent)
|
||||
: QDateTimeEdit(date.isValid() ? date : QDATETIMEEDIT_DATE_INITIAL, QMetaType::QDate, parent)
|
||||
{
|
||||
connect(this, &QDateEdit::dateChanged, this, &QDateEdit::userDateChanged);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -506,8 +506,7 @@ void tst_QDateTimeEdit::constructor_qdate()
|
|||
{
|
||||
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);
|
||||
QEXPECT_FAIL("", "QTBUG-105322: constructors use wrong spec", Continue);
|
||||
if (QByteArrayView(QTest::currentDataTag()) == "invalid")
|
||||
QCOMPARE(dte.date(), QDate(2000, 1, 1));
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue