summaryrefslogtreecommitdiffstats
path: root/src/test/searchqueryparsertest.cpp
diff options
context:
space:
mode:
authorDaniel Schürmann <daschuer@mixxx.org>2018-11-10 21:05:38 +0100
committerDaniel Schürmann <daschuer@mixxx.org>2018-11-10 21:05:38 +0100
commit6acd31a56caf1f302589110fd56cc9773b8f6deb (patch)
tree9b374941ecf87d33bd724696f6ed7352790d8751 /src/test/searchqueryparsertest.cpp
parentc2ee5331a04cb86de6504866132cfd308d291f02 (diff)
Added a test for tailing spaces and quoted searches
Diffstat (limited to 'src/test/searchqueryparsertest.cpp')
-rw-r--r--src/test/searchqueryparsertest.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/test/searchqueryparsertest.cpp b/src/test/searchqueryparsertest.cpp
index cd8f4b830b..13a1f57323 100644
--- a/src/test/searchqueryparsertest.cpp
+++ b/src/test/searchqueryparsertest.cpp
@@ -260,6 +260,44 @@ TEST_F(SearchQueryParserTest, TextFilterAllowsSpace) {
qPrintable(pQuery->toSql()));
}
+TEST_F(SearchQueryParserTest, TextFilterQuotes) {
+ QStringList searchColumns;
+ searchColumns << "artist"
+ << "album";
+
+ auto pQuery(
+ m_parser.parseQuery("comment:\"asdf ewe\"", searchColumns, ""));
+
+ TrackPointer pTrack(Track::newTemporary());
+ pTrack->setArtist("asdf");
+ EXPECT_FALSE(pQuery->match(pTrack));
+ pTrack->setComment("test ASDF ewetest");
+ EXPECT_TRUE(pQuery->match(pTrack));
+
+ EXPECT_STREQ(
+ qPrintable(QString("comment LIKE '%asdf ewe%'")),
+ qPrintable(pQuery->toSql()));
+}
+
+TEST_F(SearchQueryParserTest, TextFilterTailingSpace) {
+ QStringList searchColumns;
+ searchColumns << "artist"
+ << "album";
+
+ auto pQuery(
+ m_parser.parseQuery("comment:\"asdf \"", searchColumns, ""));
+
+ TrackPointer pTrack(Track::newTemporary());
+ pTrack->setArtist("asdf");
+ EXPECT_FALSE(pQuery->match(pTrack));
+ pTrack->setComment("test ASDF test");
+ EXPECT_TRUE(pQuery->match(pTrack));
+
+ EXPECT_STREQ(
+ qPrintable(QString("comment LIKE '%asdf _%'")),
+ qPrintable(pQuery->toSql()));
+}
+
TEST_F(SearchQueryParserTest, TextFilterNegation) {
QStringList searchColumns;
searchColumns << "artist"