summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@theqtcompany.com>2015-06-09 13:59:07 +0200
committerPaul Olav Tvete <paul.tvete@theqtcompany.com>2015-06-09 13:59:07 +0200
commit0963be63ce741ef6c7585358c3f3b1cb806b66e8 (patch)
tree6f4964c196b8a52cb15e9efc0388b6a549574460 /tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
parent9e6a1351823b3ee3d7e380248f6ef42ff383b014 (diff)
parenteacfbbf64ef90dad8c5cb6b2c812ad64c1100779 (diff)
Merge remote-tracking branch 'qt/dev' into dev-highdpi
Conflicts: src/gui/kernel/qsimpledrag.cpp src/gui/kernel/qwindowsysteminterface.cpp src/gui/kernel/qwindowsysteminterface_p.h src/plugins/platforms/xcb/qxcbwindow.cpp Change-Id: Icd887552ade61d6a2b2527383970f7145aa00faf
Diffstat (limited to 'tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp')
-rw-r--r--tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
index 9417541040..adedc601a9 100644
--- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
+++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
@@ -304,6 +304,7 @@ private slots:
void undoRedoAndEchoModes();
void clearButton();
+ void clearButtonVisibleAfterSettingText_QTBUG_45518();
void sideWidgets();
void shouldShowPlaceholderText_data();
@@ -4273,6 +4274,50 @@ void tst_QLineEdit::clearButton()
QVERIFY(!clearButton->isEnabled());
}
+void tst_QLineEdit::clearButtonVisibleAfterSettingText_QTBUG_45518()
+{
+#ifndef QT_BUILD_INTERNAL
+ QSKIP("This test requires a developer build");
+#else
+ QLineEdit edit;
+ edit.setMinimumWidth(200);
+ centerOnScreen(&edit);
+ QLineEditIconButton *clearButton;
+ clearButton = edit.findChild<QLineEditIconButton *>();
+ QVERIFY(!clearButton);
+
+ edit.setText(QStringLiteral("some text"));
+ edit.show();
+ QVERIFY(QTest::qWaitForWindowActive(&edit));
+
+ QVERIFY(!edit.isClearButtonEnabled());
+
+ clearButton = edit.findChild<QLineEditIconButton *>();
+ QVERIFY(!clearButton);
+
+ edit.setClearButtonEnabled(true);
+ QVERIFY(edit.isClearButtonEnabled());
+
+ clearButton = edit.findChild<QLineEditIconButton *>();
+ QVERIFY(clearButton);
+ QVERIFY(clearButton->isVisible());
+
+ QTRY_VERIFY(clearButton->opacity() > 0);
+ QTRY_COMPARE(clearButton->cursor().shape(), Qt::ArrowCursor);
+
+ QTest::mouseClick(clearButton, Qt::LeftButton, 0, clearButton->rect().center());
+ QTRY_COMPARE(edit.text(), QString());
+
+ QTRY_COMPARE(clearButton->opacity(), qreal(0));
+ QTRY_COMPARE(clearButton->cursor().shape(), clearButton->parentWidget()->cursor().shape());
+
+ edit.setClearButtonEnabled(false);
+ QVERIFY(!edit.isClearButtonEnabled());
+ clearButton = edit.findChild<QLineEditIconButton *>();
+ QVERIFY(!clearButton);
+#endif // QT_BUILD_INTERNAL
+}
+
void tst_QLineEdit::sideWidgets()
{
QWidget testWidget;