summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/spellchecking
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-07-24 10:40:08 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-07-24 10:40:08 +0200
commit5dd44f34a58b966ddc374d828b1979b9c689b1b5 (patch)
treec9beec83e2454bc7d001bdc116620b3cc323d7a4 /tests/auto/widgets/spellchecking
parent57363264cd0ff4b2f45f5344e18436fe419e2e95 (diff)
parentb73e4ce6f7cfe35a85b9a41e1a5ab36783e5edb0 (diff)
Merge remote-tracking branch 'origin/5.13' into dev
Conflicts: src/3rdparty src/core/core_chromium.pri tests/auto/quick/qmltests/BLACKLIST tests/auto/quick/qquickwebengineview/BLACKLIST tests/auto/widgets/qwebenginepage/BLACKLIST tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp tests/auto/widgets/qwebengineview/BLACKLIST Change-Id: I11b26f5eebde29c4c62247b90e11e3ae40789fe4
Diffstat (limited to 'tests/auto/widgets/spellchecking')
-rw-r--r--tests/auto/widgets/spellchecking/tst_spellchecking.cpp43
1 files changed, 35 insertions, 8 deletions
diff --git a/tests/auto/widgets/spellchecking/tst_spellchecking.cpp b/tests/auto/widgets/spellchecking/tst_spellchecking.cpp
index a9123ec15..64df05d89 100644
--- a/tests/auto/widgets/spellchecking/tst_spellchecking.cpp
+++ b/tests/auto/widgets/spellchecking/tst_spellchecking.cpp
@@ -187,14 +187,41 @@ void tst_Spellchecking::spellcheck()
QString result = evaluateJavaScriptSync(m_view->page(), "text();").toString();
QVERIFY(result == text);
- // open menu on misspelled word
- m_view->activateMenu(m_view->focusWidget(), rect.center());
- QSignalSpy spyMenuReady(m_view, &WebView::menuReady);
- QVERIFY(spyMenuReady.wait());
-
- // check if menu is valid
- QVERIFY(m_view->data().isValid());
- QVERIFY(m_view->data().isContentEditable());
+ bool gotMisspelledWord = false; // clumsy QTRY_VERIFY still execs expr after first success
+ QString detail;
+
+ // check that spellchecker has done text processing and filled misspelled word
+ QTRY_VERIFY2([&] () {
+ detail.clear();
+ if (gotMisspelledWord)
+ return true;
+
+ // open menu on misspelled word
+ m_view->activateMenu(m_view->focusWidget(), rect.center());
+ QSignalSpy spyMenuReady(m_view, &WebView::menuReady);
+ if (!spyMenuReady.wait()) {
+ detail = "menu was not shown";
+ return false;
+ }
+
+ if (!m_view->data().isValid()) {
+ detail = "invalid data";
+ return false;
+ }
+
+ if (!m_view->data().isContentEditable()) {
+ detail = "content is not editable";
+ return false;
+ }
+
+ if (m_view->data().misspelledWord().isEmpty()) {
+ detail = "no misspelled word";
+ return false;
+ };
+
+ gotMisspelledWord = true;
+ return true;
+ } (), qPrintable(QString("Context menu: %1").arg(detail)));
// check misspelled word
QCOMPARE(m_view->data().misspelledWord(), QStringLiteral("lowe"));