diff --git a/test/server.cpp b/test/server.cpp
index 6cf5bebac..6d1028bd1 100644
--- a/test/server.cpp
+++ b/test/server.cpp
@@ -772,6 +772,43 @@ TEST_F(LibraryServerTest, catalog_search_by_words)
);
}
+TEST_F(LibraryServerTest, catalog_prefix_search)
+{
+ {
+ const auto r = zfs1_->GET("/catalog/search?q=description:ray%20description:charles");
+ EXPECT_EQ(r->status, 200);
+ EXPECT_EQ(maskVariableOPDSFeedData(r->body),
+ OPDS_FEED_TAG
+ " 12345678-90ab-cdef-1234-567890abcdef\n"
+ "
Search result for description:ray description:charles\n"
+ " YYYY-MM-DDThh:mm:ssZ\n"
+ " 2\n"
+ " 0\n"
+ " 2\n"
+ CATALOG_LINK_TAGS
+ RAY_CHARLES_CATALOG_ENTRY
+ CHARLES_RAY_CATALOG_ENTRY
+ "\n"
+ );
+ }
+ {
+ const auto r = zfs1_->GET("/catalog/search?q=title:\"ray%20charles\"");
+ EXPECT_EQ(r->status, 200);
+ EXPECT_EQ(maskVariableOPDSFeedData(r->body),
+ OPDS_FEED_TAG
+ " 12345678-90ab-cdef-1234-567890abcdef\n"
+ " Search result for title:\"ray charles\"\n"
+ " YYYY-MM-DDThh:mm:ssZ\n"
+ " 1\n"
+ " 0\n"
+ " 1\n"
+ CATALOG_LINK_TAGS
+ RAY_CHARLES_CATALOG_ENTRY
+ "\n"
+ );
+ }
+}
+
TEST_F(LibraryServerTest, catalog_search_by_tag)
{
const auto r = zfs1_->GET("/catalog/search?tag=_category:jazz");