summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2016-06-27 16:52:55 +0200
committerAlexandru Croitor <alexandru.croitor@theqtcompany.com>2016-07-01 09:07:13 +0000
commit5b219fc20dbfe6090af45c1dbdb7ad50bc743ca1 (patch)
treef3a374d9b3a11dd5ef74e2ca90ef9d9587bbbf4f /tests
parentf5ee1feeed2abbcbe6db2bf9757d692b38fcbcb1 (diff)
Clear internal selected text when searching
Previously if a selection was made on a web page, and afterwards a find operation is executed, the selection in the web page would be cleared, but the call to selectedText() would still return the old selection. Make sure selectedText() is always cleared, when starting a find operation, as well as when stopping one. Change-Id: If78f0fa1dd836a52184015e749ef5a84b9f784cd Task-number: QTBUG-54071 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp31
1 files changed, 13 insertions, 18 deletions
diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
index 4cff50d3b..ab6db5e2c 100644
--- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
+++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
@@ -2970,31 +2970,26 @@ void tst_QWebEnginePage::findText()
QSignalSpy loadSpy(m_page, SIGNAL(loadFinished(bool)));
m_page->setHtml(QString("<html><head></head><body><div>foo bar</div></body></html>"));
QTRY_COMPARE(loadSpy.count(), 1);
+
+ // Select whole page contents.
m_page->triggerAction(QWebEnginePage::SelectAll);
QTRY_COMPARE(m_page->hasSelection(), true);
-#if defined(QWEBENGINEPAGE_SELECTEDHTML)
- QVERIFY(!m_page->selectedHtml().isEmpty());
-#endif
+
+ // Invoke a stopFinding() operation, which should clear the currently selected text.
m_page->findText("");
- QEXPECT_FAIL("", "Unsupported: findText only highlights and doesn't update the selection.", Continue);
- QVERIFY(m_page->selectedText().isEmpty());
-#if defined(QWEBENGINEPAGE_SELECTEDHTML)
- QVERIFY(m_page->selectedHtml().isEmpty());
-#endif
+ QTRY_VERIFY(m_page->selectedText().isEmpty());
+
QStringList words = (QStringList() << "foo" << "bar");
foreach (QString subString, words) {
+ // Invoke a find operation, which should clear the currently selected text, should
+ // highlight all the found ocurrences, but should not update the selected text to the
+ // searched for string.
m_page->findText(subString);
- QEXPECT_FAIL("", "Unsupported: findText only highlights and doesn't update the selection.", Continue);
- QCOMPARE(m_page->selectedText(), subString);
-#if defined(QWEBENGINEPAGE_SELECTEDHTML)
- QVERIFY(m_page->selectedHtml().contains(subString));
-#endif
+ QTRY_VERIFY(m_page->selectedText().isEmpty());
+
+ // Search highlights should be cleared, selected text should still be empty.
m_page->findText("");
- QEXPECT_FAIL("", "Unsupported: findText only highlights and doesn't update the selection.", Continue);
- QVERIFY(m_page->selectedText().isEmpty());
-#if defined(QWEBENGINEPAGE_SELECTEDHTML)
- QVERIFY(m_page->selectedHtml().isEmpty());
-#endif
+ QTRY_VERIFY(m_page->selectedText().isEmpty());
}
}