summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2016-10-18 19:01:16 +0200
committerMichal Klocek <michal.klocek@qt.io>2016-10-29 12:27:42 +0000
commit2fe08ddf9388598003cb3a30f30a2d18ab044969 (patch)
tree287851c5a4e699fe7fd4fd6277c585a50de190b1 /tests/auto
parent05df6e5f4af76f10a6dc5884c1aa1599a2d7a486 (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')
-rw-r--r--tests/auto/widgets/qwebenginespellcheck/dict/de-DE.aff5
-rw-r--r--tests/auto/widgets/qwebenginespellcheck/dict/de-DE.dic14
-rw-r--r--tests/auto/widgets/qwebenginespellcheck/qwebenginespellcheck.pro6
-rw-r--r--tests/auto/widgets/qwebenginespellcheck/tst_qwebenginespellcheck.cpp35
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"