summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_querycompleter.cpp35
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"