QLineEdit: a validator fixup() should keep it modified; add failing test
I still have no idea how to fix this properly given the absolute mess of QWidgetLineControl. For now add a failing test. Change-Id: Ieb5ad6994c8ce7deb0cd0f2f47d51073d042244e Task-number: QTBUG-49295 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>bb10
parent
d729c3459f
commit
4b35c91a77
|
|
@ -229,6 +229,7 @@ private slots:
|
|||
|
||||
void isModified();
|
||||
void edited();
|
||||
void fixupDoesNotModify_QTBUG_49295();
|
||||
|
||||
void insert();
|
||||
void setSelection_data();
|
||||
|
|
@ -2844,6 +2845,29 @@ void tst_QLineEdit::edited()
|
|||
QVERIFY(testWidget->isModified());
|
||||
}
|
||||
|
||||
void tst_QLineEdit::fixupDoesNotModify_QTBUG_49295()
|
||||
{
|
||||
QLineEdit *testWidget = ensureTestWidget();
|
||||
|
||||
ValidatorWithFixup val;
|
||||
testWidget->setValidator(&val);
|
||||
testWidget->setText("foo");
|
||||
QVERIFY(!testWidget->isModified());
|
||||
QVERIFY(!testWidget->hasAcceptableInput());
|
||||
|
||||
QTest::keyClicks(testWidget, QStringLiteral("bar"));
|
||||
QVERIFY(testWidget->isModified());
|
||||
QVERIFY(!testWidget->hasAcceptableInput());
|
||||
|
||||
// trigger a fixup, which should not reset the modified flag
|
||||
QFocusEvent lostFocus(QEvent::FocusOut);
|
||||
qApp->sendEvent(testWidget, &lostFocus);
|
||||
|
||||
QVERIFY(testWidget->hasAcceptableInput());
|
||||
QEXPECT_FAIL("", "QTBUG-49295: a fixup of a line edit should keep it modified", Continue);
|
||||
QVERIFY(testWidget->isModified());
|
||||
}
|
||||
|
||||
void tst_QLineEdit::insert()
|
||||
{
|
||||
QLineEdit *testWidget = ensureTestWidget();
|
||||
|
|
|
|||
Loading…
Reference in New Issue