A note-taking app inspired by nb
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});