|
1 | 1 | import { expect } from "@std/expect"; |
2 | 2 | import { normalizeConfig, parseRootPath } from "./config.ts"; |
| 3 | +import type { FreshConfig } from "./mod.ts"; |
3 | 4 |
|
4 | 5 | Deno.test("parseRootPath", () => { |
5 | 6 | const cwd = Deno.cwd().replaceAll("\\", "/"); |
@@ -45,3 +46,63 @@ Deno.test("normalizeConfig - root", () => { |
45 | 46 | expect(configRoot("file:///C:/foo/bar")).toEqual("C:/foo/bar"); |
46 | 47 | } |
47 | 48 | }); |
| 49 | + |
| 50 | +Deno.test("normalizeConfig - build.outDir", () => { |
| 51 | + const cwd = Deno.cwd().replaceAll("\\", "/"); |
| 52 | + const outDir = (options: FreshConfig) => |
| 53 | + normalizeConfig(options).build.outDir; |
| 54 | + |
| 55 | + // Default outDir |
| 56 | + expect(outDir({ root: "./src" })).toEqual(`${cwd}/src/_fresh`); |
| 57 | + expect(outDir({ root: "/src" })).toEqual("/src/_fresh"); |
| 58 | + expect(outDir({ root: "file:///src" })).toEqual("/src/_fresh"); |
| 59 | + |
| 60 | + // Relative outDir |
| 61 | + expect(outDir({ root: "/src", build: { outDir: "dist" } })).toEqual( |
| 62 | + "/src/dist", |
| 63 | + ); |
| 64 | + expect(outDir({ root: "/src", build: { outDir: "./dist" } })).toEqual( |
| 65 | + "/src/dist", |
| 66 | + ); |
| 67 | + |
| 68 | + // Absolute outDir |
| 69 | + expect(outDir({ root: "/src", build: { outDir: "/dist" } })).toEqual( |
| 70 | + "/dist", |
| 71 | + ); |
| 72 | + expect(outDir({ root: "/src", build: { outDir: "/dist/fresh" } })).toEqual( |
| 73 | + "/dist/fresh", |
| 74 | + ); |
| 75 | + expect(outDir({ root: "/src", build: { outDir: "file:///dist" } })).toEqual( |
| 76 | + "/dist", |
| 77 | + ); |
| 78 | +}); |
| 79 | + |
| 80 | +Deno.test("normalizeConfig - staticDir", () => { |
| 81 | + const cwd = Deno.cwd().replaceAll("\\", "/"); |
| 82 | + const staticDir = (options: FreshConfig) => |
| 83 | + normalizeConfig(options).staticDir; |
| 84 | + |
| 85 | + // Default staticDir |
| 86 | + expect(staticDir({ root: "./src" })).toEqual(`${cwd}/src/static`); |
| 87 | + expect(staticDir({ root: "/src" })).toEqual("/src/static"); |
| 88 | + expect(staticDir({ root: "file:///src" })).toEqual("/src/static"); |
| 89 | + |
| 90 | + // Relative staticDir |
| 91 | + expect(staticDir({ root: "/src", staticDir: "public" })).toEqual( |
| 92 | + "/src/public", |
| 93 | + ); |
| 94 | + expect(staticDir({ root: "/src", staticDir: "./public" })).toEqual( |
| 95 | + "/src/public", |
| 96 | + ); |
| 97 | + |
| 98 | + // Absolute staticDir |
| 99 | + expect(staticDir({ root: "/src", staticDir: "/public" })).toEqual( |
| 100 | + "/public", |
| 101 | + ); |
| 102 | + expect(staticDir({ root: "/src", staticDir: "/public/assets" })).toEqual( |
| 103 | + "/public/assets", |
| 104 | + ); |
| 105 | + expect(staticDir({ root: "/src", staticDir: "file:///public" })).toEqual( |
| 106 | + "/public", |
| 107 | + ); |
| 108 | +}); |
0 commit comments