From 9fd26b472b18924ab11afcebace90329b0fe3abf Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sun, 12 Jan 2025 20:03:47 +0000 Subject: feat: Add ability to filter by bookmark type --- packages/shared/searchQueryParser.test.ts | 55 +++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'packages/shared/searchQueryParser.test.ts') diff --git a/packages/shared/searchQueryParser.test.ts b/packages/shared/searchQueryParser.test.ts index 5af7ca2f..7430d58f 100644 --- a/packages/shared/searchQueryParser.test.ts +++ b/packages/shared/searchQueryParser.test.ts @@ -1,6 +1,7 @@ import { describe, expect, test } from "vitest"; import { parseSearchQuery } from "./searchQueryParser"; +import { BookmarkTypes } from "./types/bookmarks"; describe("Search Query Parser", () => { test("simple is queries", () => { @@ -68,6 +69,60 @@ describe("Search Query Parser", () => { inList: false, }, }); + expect(parseSearchQuery("is:link")).toEqual({ + result: "full", + text: "", + matcher: { + type: "type", + typeName: BookmarkTypes.LINK, + inverse: false, + }, + }); + expect(parseSearchQuery("-is:link")).toEqual({ + result: "full", + text: "", + matcher: { + type: "type", + typeName: BookmarkTypes.LINK, + inverse: true, + }, + }); + expect(parseSearchQuery("is:text")).toEqual({ + result: "full", + text: "", + matcher: { + type: "type", + typeName: BookmarkTypes.TEXT, + inverse: false, + }, + }); + expect(parseSearchQuery("-is:text")).toEqual({ + result: "full", + text: "", + matcher: { + type: "type", + typeName: BookmarkTypes.TEXT, + inverse: true, + }, + }); + expect(parseSearchQuery("is:media")).toEqual({ + result: "full", + text: "", + matcher: { + type: "type", + typeName: BookmarkTypes.ASSET, + inverse: false, + }, + }); + expect(parseSearchQuery("-is:media")).toEqual({ + result: "full", + text: "", + matcher: { + type: "type", + typeName: BookmarkTypes.ASSET, + inverse: true, + }, + }); }); test("simple string queries", () => { -- cgit v1.2.3-70-g09d2