A note-taking app inspired by nb
at main 43 lines 1.3 kB view raw
1import { assertEquals } from "@std/assert"; 2import { parseRaw } from "./notebook.ts"; 3 4Deno.test("test bare notebook", () => { 5 assertEquals(parseRaw("foo:").notebookName, "foo"); 6}); 7 8Deno.test("test bare file", () => { 9 const p = parseRaw("frob"); 10 assertEquals(p.notebookName, undefined); 11 assertEquals(p.entry, "frob"); 12 assertEquals(p.folders.length, 0); 13}); 14 15Deno.test("test notebook and file", () => { 16 const p = parseRaw("foo:bar"); 17 assertEquals(p.notebookName, "foo"); 18 assertEquals(p.entry, "bar"); 19 assertEquals(p.folders.length, 0); 20}); 21 22Deno.test("test notebook and folder", () => { 23 const p = parseRaw("foo:bar/"); 24 assertEquals(p.notebookName, "foo"); 25 assertEquals(p.folders[0], "bar"); 26 assertEquals(p.entry, undefined); 27}); 28 29Deno.test("test notebook, folder and file", () => { 30 const p = parseRaw("foo:bar/baz"); 31 assertEquals(p.notebookName, "foo"); 32 assertEquals(p.folders.length, 1); 33 assertEquals(p.folders[0], "bar"); 34 assertEquals(p.entry, "baz"); 35}); 36 37Deno.test("test notebook with deeply nested note", () => { 38 const p = parseRaw("foo:bar/baz/quux/frob"); 39 assertEquals(p.notebookName, "foo"); 40 assertEquals(p.folders.length, 3); 41 assertEquals(p.folders[2], "quux"); 42 assertEquals(p.entry, "frob"); 43});