diff options
author | Michal Klocek <michal.klocek@qt.io> | 2016-10-18 19:01:16 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2016-10-29 12:27:42 +0000 |
commit | 2fe08ddf9388598003cb3a30f30a2d18ab044969 (patch) | |
tree | 287851c5a4e699fe7fd4fd6277c585a50de190b1 /tests/auto | |
parent | 05df6e5f4af76f10a6dc5884c1aa1599a2d7a486 (diff) |
Update spellcheck api to support multiple languages
Task-number: QTBUG-56074
Change-Id: I2a66e91dd4ed1026e5ab2539cfd3f9094263b48c
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'tests/auto')
4 files changed, 51 insertions, 9 deletions
diff --git a/tests/auto/widgets/qwebenginespellcheck/dict/de-DE.aff b/tests/auto/widgets/qwebenginespellcheck/dict/de-DE.aff new file mode 100644 index 000000000..ff8185771 --- /dev/null +++ b/tests/auto/widgets/qwebenginespellcheck/dict/de-DE.aff @@ -0,0 +1,5 @@ +SET UTF-8 +TRY esianrtolcdugmphbyfvkwzqESIANRTOLCDUGMPHBYFVKWZQ + +PFX Q Y 1 +PFX Q 0 q . diff --git a/tests/auto/widgets/qwebenginespellcheck/dict/de-DE.dic b/tests/auto/widgets/qwebenginespellcheck/dict/de-DE.dic new file mode 100644 index 000000000..d10ae2600 --- /dev/null +++ b/tests/auto/widgets/qwebenginespellcheck/dict/de-DE.dic @@ -0,0 +1,14 @@ +15 +du/Q +er/Q +es/Q +ich/Q +ihr/Q +liebe/Q +lieben/Q +liebst/Q +liebt/Q +qt/Q +sie/Q +Sie/Q +wir/Q diff --git a/tests/auto/widgets/qwebenginespellcheck/qwebenginespellcheck.pro b/tests/auto/widgets/qwebenginespellcheck/qwebenginespellcheck.pro index 437aad937..a36c82e20 100644 --- a/tests/auto/widgets/qwebenginespellcheck/qwebenginespellcheck.pro +++ b/tests/auto/widgets/qwebenginespellcheck/qwebenginespellcheck.pro @@ -2,7 +2,9 @@ include(../tests.pri) DISTFILES += \ dict/en-US.dic \ - dict/en-US.aff + dict/en-US.aff \ + dict/de-DE.dic \ + dict/de-DE.aff \ qtPrepareTool(CONVERT_TOOL, qwebengine_convert_dict) @@ -13,7 +15,7 @@ debug_and_release { DICTIONARIES_DIR = qtwebengine_dictionaries } -dict.files = $$PWD/dict/en-US.dic +dict.files = $$PWD/dict/en-US.dic $$PWD/dict/de-DE.dic dictoolbuild.input = dict.files dictoolbuild.output = $${DICTIONARIES_DIR}/${QMAKE_FILE_BASE}.bdic dictoolbuild.commands = $${CONVERT_TOOL} ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} diff --git a/tests/auto/widgets/qwebenginespellcheck/tst_qwebenginespellcheck.cpp b/tests/auto/widgets/qwebenginespellcheck/tst_qwebenginespellcheck.cpp index 534d40f45..4db5b9477 100644 --- a/tests/auto/widgets/qwebenginespellcheck/tst_qwebenginespellcheck.cpp +++ b/tests/auto/widgets/qwebenginespellcheck/tst_qwebenginespellcheck.cpp @@ -73,8 +73,10 @@ private Q_SLOTS: void cleanup(); void initTestCase(); void spellCheckLanguage(); + void spellCheckLanguages(); void spellCheckEnabled(); void spellcheck(); + void spellcheck_data(); private: void load(); @@ -86,14 +88,14 @@ void tst_QWebEngineSpellcheck::initTestCase() QWebEngineProfile *profile = QWebEngineProfile::defaultProfile(); QVERIFY(profile); QVERIFY(!profile->isSpellCheckEnabled()); - QVERIFY(profile->spellCheckLanguage().isEmpty()); + QVERIFY(profile->spellCheckLanguages().isEmpty()); } void tst_QWebEngineSpellcheck::init() { QWebEngineProfile *profile = QWebEngineProfile::defaultProfile(); profile->setSpellCheckEnabled(false); - profile->setSpellCheckLanguage(QString::null); + profile->setSpellCheckLanguages(QStringList()); m_view = new WebView(); } @@ -113,10 +115,19 @@ void tst_QWebEngineSpellcheck::spellCheckLanguage() { QWebEngineProfile *profile = QWebEngineProfile::defaultProfile(); QVERIFY(profile); - profile->setSpellCheckLanguage("en-US"); - QVERIFY(profile->spellCheckLanguage() == "en-US"); + profile->setSpellCheckLanguages({"en-US"}); + QVERIFY(profile->spellCheckLanguages() == QStringList({"en-US"})); } +void tst_QWebEngineSpellcheck::spellCheckLanguages() +{ + QWebEngineProfile *profile = QWebEngineProfile::defaultProfile(); + QVERIFY(profile); + profile->setSpellCheckLanguages({"en-US","de-DE"}); + QVERIFY(profile->spellCheckLanguages() == QStringList({"en-US","de-DE"})); +} + + void tst_QWebEngineSpellcheck::spellCheckEnabled() { QWebEngineProfile *profile = QWebEngineProfile::defaultProfile(); @@ -127,9 +138,12 @@ void tst_QWebEngineSpellcheck::spellCheckEnabled() void tst_QWebEngineSpellcheck::spellcheck() { + QFETCH(QStringList, languages); + QFETCH(QStringList, suggestions); + QWebEngineProfile *profile = QWebEngineProfile::defaultProfile(); QVERIFY(profile); - profile->setSpellCheckLanguage("en-US"); + profile->setSpellCheckLanguages(languages); profile->setSpellCheckEnabled(true); load(); @@ -166,8 +180,7 @@ void tst_QWebEngineSpellcheck::spellcheck() QVERIFY(m_view->data().misspelledWord() == "lovee"); // check suggestions - QStringList expected {"love", "loves"}; - QVERIFY(m_view->data().spellCheckerSuggestions() == expected); + QVERIFY(m_view->data().spellCheckerSuggestions() == suggestions); // check replace word m_view->page()->replaceMisspelledWord("love"); @@ -175,5 +188,13 @@ void tst_QWebEngineSpellcheck::spellcheck() QTRY_VERIFY(evaluateJavaScriptSync(m_view->page(), "text();").toString() == text); } +void tst_QWebEngineSpellcheck::spellcheck_data() +{ + QTest::addColumn<QStringList>("languages"); + QTest::addColumn<QStringList>("suggestions"); + QTest::newRow("en-US") << QStringList({"en-US"}) << QStringList({"love", "loves"}); + QTest::newRow("en-US,de-DE") << QStringList({"en-US","de-DE"}) << QStringList({"love", "liebe", "loves"}); +} + QTEST_MAIN(tst_QWebEngineSpellcheck) #include "tst_qwebenginespellcheck.moc" |