aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
diff options
context:
space:
mode:
authorCaroline Chao <caroline.chao@digia.com>2013-03-05 14:56:10 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-07 11:58:50 +0100
commitc4cbb1249fa7cb754de4603f5ff606aa94fafbd5 (patch)
tree8011bbe11d396ea71211e59133413280d1d3cf66 /tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
parent962609bef1aaa61125700ceb5e5e25c243113a0a (diff)
Tests: add autotests for TextEdit and TextInput
Check the selection is not cleared when the control receives a focus out event with one of the following reason: - Qt::ActiveWindowFocusReason - Qt::PopupFocusReason Change-Id: I38f4a4cba5e769f19de4e327d03be57a8d1d36a7 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp')
-rw-r--r--tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
index c29c6c05d6..e4821e80a6 100644
--- a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
+++ b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
@@ -117,6 +117,7 @@ private slots:
void color();
void textMargin();
void persistentSelection();
+ void selectionOnFocusOut();
void focusOnPress();
void selection();
void isRightToLeft_data();
@@ -1163,6 +1164,48 @@ void tst_qquicktextedit::persistentSelection()
}
+void tst_qquicktextedit::selectionOnFocusOut()
+{
+ QQuickView window(testFileUrl("focusOutSelection.qml"));
+ window.show();
+ window.requestActivate();
+ QTest::qWaitForWindowActive(&window);
+
+ QPoint p1(25, 35);
+ QPoint p2(25, 85);
+
+ QQuickTextEdit *edit1 = window.rootObject()->findChild<QQuickTextEdit*>("text1");
+ QQuickTextEdit *edit2 = window.rootObject()->findChild<QQuickTextEdit*>("text2");
+
+ QTest::mouseClick(&window, Qt::LeftButton, 0, p1);
+ QVERIFY(edit1->hasActiveFocus());
+ QVERIFY(!edit2->hasActiveFocus());
+
+ edit1->selectAll();
+ QCOMPARE(edit1->selectedText(), QLatin1String("text 1"));
+
+ QTest::mouseClick(&window, Qt::LeftButton, 0, p2);
+
+ QCOMPARE(edit1->selectedText(), QLatin1String(""));
+ QVERIFY(!edit1->hasActiveFocus());
+ QVERIFY(edit2->hasActiveFocus());
+
+ edit2->selectAll();
+ QCOMPARE(edit2->selectedText(), QLatin1String("text 2"));
+
+
+ edit2->setFocus(false, Qt::ActiveWindowFocusReason);
+ QVERIFY(!edit2->hasActiveFocus());
+ QCOMPARE(edit2->selectedText(), QLatin1String("text 2"));
+
+ edit2->setFocus(true);
+ QVERIFY(edit2->hasActiveFocus());
+
+ edit2->setFocus(false, Qt::PopupFocusReason);
+ QVERIFY(!edit2->hasActiveFocus());
+ QCOMPARE(edit2->selectedText(), QLatin1String("text 2"));
+}
+
void tst_qquicktextedit::focusOnPress()
{
QString componentStr =