diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_querycompleter.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/test_querycompleter.cpp b/tests/test_querycompleter.cpp index aead30d..fb14adf 100644 --- a/tests/test_querycompleter.cpp +++ b/tests/test_querycompleter.cpp @@ -39,6 +39,8 @@ private slots: void rangeLowerBoundCompletes(); void bareValueAllowsRelativeEntries(); void rangeSuppressesRelativeEntries(); + void prefixVocabularyCoversNotmuchKeywords(); + void dateVocabularySeparatesRelativeEntries(); }; void TestQueryCompleter::emptyTextCompletesPrefix() @@ -167,5 +169,38 @@ void TestQueryCompleter::rangeSuppressesRelativeEntries() QVERIFY(!ctx.allowRangeEntries); } +void TestQueryCompleter::prefixVocabularyCoversNotmuchKeywords() +{ + const QList<CompletionEntry> entries = prefixVocabulary(); + + QStringList values; + for (const CompletionEntry &entry : entries) + values.append(entry.value); + + QVERIFY(values.contains(QStringLiteral("tag:"))); + QVERIFY(values.contains(QStringLiteral("date:"))); + QVERIFY(values.contains(QStringLiteral("and"))); + + // Every entry carries a description; a blank column teaches nothing. + for (const CompletionEntry &entry : entries) + QVERIFY(!entry.description.isEmpty()); +} + +void TestQueryCompleter::dateVocabularySeparatesRelativeEntries() +{ + const QList<CompletionEntry> entries = dateVocabulary(); + + bool sawSymbolic = false; + bool sawRelative = false; + for (const CompletionEntry &entry : entries) { + if (entry.value == QStringLiteral("today")) + sawSymbolic = true; + if (entry.value.contains(QStringLiteral(".."))) + sawRelative = true; + } + QVERIFY(sawSymbolic); + QVERIFY(sawRelative); +} + QTEST_MAIN(TestQueryCompleter) #include "test_querycompleter.moc" |
