1import { parseSiteInvocation } from "./site.ts";23function assertEquals(actual: unknown, expected: unknown): void {4 if (JSON.stringify(actual) !== JSON.stringify(expected)) {5 throw new Error(`expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`);6 }7}89Deno.test("site groups the complete target lifecycle", () => {10 assertEquals(parseSiteInvocation(["push", "./demo", "work:demo"]), {11 kind: "push",12 source: "./demo",13 target: "work:demo",14 });15 assertEquals(parseSiteInvocation(["cp", "work:demo", "./demo"]), {16 kind: "cp",17 target: "work:demo",18 dir: "./demo",19 });20 assertEquals(parseSiteInvocation(["show", "work:demo"]), {21 kind: "show",22 target: "work:demo",23 });24 assertEquals(parseSiteInvocation(["policy", "work:demo"]), {25 kind: "policy",26 target: "work:demo",27 });28 assertEquals(parseSiteInvocation(["feedback", "work:demo"]), {29 kind: "feedback",30 target: "work:demo",31 });32 assertEquals(parseSiteInvocation(["ls", "work"]), { kind: "ls", vault: "work" });33 assertEquals(parseSiteInvocation(["where", "work:demo"]), {34 kind: "where",35 target: "work:demo",36 });37 assertEquals(parseSiteInvocation(["rm", "work:demo"]), {38 kind: "rm",39 target: "work:demo",40 });41 assertEquals(parseSiteInvocation(["revert", "work:demo"]), {42 kind: "revert",43 target: "work:demo",44 });45});