diff options
Diffstat (limited to 'tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp')
-rw-r--r-- | tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp index 330ce3a836..b7628b30e9 100644 --- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp @@ -310,6 +310,7 @@ private slots: void shortcutOverrideOnReadonlyLineEdit_data(); void shortcutOverrideOnReadonlyLineEdit(); + void QTBUG59957_clearButtonLeftmostAction(); protected slots: void editingFinished(); @@ -4612,5 +4613,27 @@ void tst_QLineEdit::shortcutOverrideOnReadonlyLineEdit() QCOMPARE(spy.count(), activationCount); } +void tst_QLineEdit::QTBUG59957_clearButtonLeftmostAction() +{ + QLineEdit lineEdit; + lineEdit.setClearButtonEnabled(true); + + auto clearButton = lineEdit.findChild<QLineEditIconButton *>(); + QVERIFY(clearButton); + + QPixmap pixmap(16, 16); + lineEdit.addAction(QIcon(pixmap), QLineEdit::TrailingPosition); + lineEdit.addAction(QIcon(pixmap), QLineEdit::TrailingPosition); + + lineEdit.show(); + + const auto buttons = lineEdit.findChildren<QLineEditIconButton *>(); + for (const auto button : buttons) { + if (button == clearButton) + continue; + QVERIFY(clearButton->x() < button->x()); + } +} + QTEST_MAIN(tst_QLineEdit) #include "tst_qlineedit.moc" |