deno.land / x / lume@v2.1.4 / tests / search.test.ts
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207import { build, getSite } from "./utils.ts";import { assertSnapshot } from "../deps/snapshot.ts";import { buildFilter, buildSort } from "../core/searcher.ts";
Deno.test("Search by Tags", async (t) => { const filter = buildFilter("foo bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by NOT Tags", async (t) => { const filter = buildFilter("foo !bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Equal", async (t) => { const filter = buildFilter("foo=bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Equal undefined", async (t) => { const filter = buildFilter("foo=undefined");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Equal null", async (t) => { const filter = buildFilter("foo=null");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Upper than", async (t) => { const filter = buildFilter("foo>bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Upper or equals than", async (t) => { const filter = buildFilter("foo>=bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Lower than", async (t) => { const filter = buildFilter("foo<bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Lower or equals than", async (t) => { const filter = buildFilter("foo<=bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Not Equal", async (t) => { const filter = buildFilter("foo!=bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Not Equal alt", async (t) => { const filter = buildFilter("!foo=bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Starts With", async (t) => { const filter = buildFilter("foo^=bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by NOT Starts With", async (t) => { const filter = buildFilter("!foo^=bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Ends With", async (t) => { const filter = buildFilter("foo$=bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Contains", async (t) => { const filter = buildFilter("foo*=bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Tags with OR", async (t) => { const filter = buildFilter("foo|bar");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Equal with OR", async (t) => { const filter = buildFilter("foo=bar|baz");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Not Equal with OR", async (t) => { const filter = buildFilter("foo!=bar|baz");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Starts With with OR", async (t) => { const filter = buildFilter("foo^=bar|baz");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Ends With with OR", async (t) => { const filter = buildFilter("foo$=bar|baz");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search by Contains with OR", async (t) => { const filter = buildFilter("foo*=bar|baz");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search Date by Equal", async (t) => { const filter = buildFilter("foo=2000-01-02");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search Date by Not Equal", async (t) => { const filter = buildFilter("foo!=2000-01-02");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search Date by lower than", async (t) => { const filter = buildFilter("foo<2000-01-02T18:00");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search Date by lower or equals than", async (t) => { const filter = buildFilter("foo<=2000-01-02T18:00");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search Date by upper than", async (t) => { const filter = buildFilter("foo>2000-01-02T18:00");
await assertSnapshot(t, filter?.toString());});
Deno.test("Search Date by upper or equals than", async (t) => { const filter = buildFilter("foo>=2000-01-02T18:00");
await assertSnapshot(t, filter?.toString());});
Deno.test("Sort by one field", async (t) => { const sort = buildSort("order");
await assertSnapshot(t, sort);});
Deno.test("Sort by one field DESC", async (t) => { const sort = buildSort("order=desc");
await assertSnapshot(t, sort);});
Deno.test("Sort by two fields", async (t) => { const sort = buildSort("order title");
await assertSnapshot(t, sort);});
Deno.test("Sort by two fields, second is DESC", async (t) => { const sort = buildSort("order title=desc");
await assertSnapshot(t, sort);});
Deno.test("Test the file searcher", async (t) => { const site = getSite({ src: "normal", });
site.loadAssets([".css"]); site.copy([".png"]);
await build(site);
const { search } = site;
await assertSnapshot(t, search.files().sort()); await assertSnapshot(t, search.files("/*.png").sort()); await assertSnapshot(t, search.files(/\.png$/).sort());});
Version Info