diff options
Diffstat (limited to 'tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp')
-rw-r--r-- | tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp | 43 |
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 = |