From 3027eced6c2d8b767d56f0c9b09b5fda30135d2b Mon Sep 17 00:00:00 2001 From: Jacky Zhao Date: Sun, 23 Mar 2025 17:42:23 -0700 Subject: [PATCH] chore(test): add tests for resolveRelative --- quartz/util/path.test.ts | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/quartz/util/path.test.ts b/quartz/util/path.test.ts index 9f94c68..ca498b6 100644 --- a/quartz/util/path.test.ts +++ b/quartz/util/path.test.ts @@ -1,7 +1,7 @@ import test, { describe } from "node:test" import * as path from "./path" import assert from "node:assert" -import { FullSlug, TransformOptions } from "./path" +import { FullSlug, TransformOptions, SimpleSlug } from "./path" describe("typeguards", () => { test("isSimpleSlug", () => { @@ -314,3 +314,32 @@ describe("link strategies", () => { }) }) }) + +describe("resolveRelative", () => { + test("from index", () => { + assert.strictEqual(path.resolveRelative("index" as FullSlug, "index" as FullSlug), "./") + assert.strictEqual(path.resolveRelative("index" as FullSlug, "abc" as FullSlug), "./abc") + assert.strictEqual(path.resolveRelative("index" as FullSlug, "abc/def" as FullSlug), "./abc/def") + assert.strictEqual(path.resolveRelative("index" as FullSlug, "abc/def/ghi" as FullSlug), "./abc/def/ghi") + }) + + test("from nested page", () => { + assert.strictEqual(path.resolveRelative("abc/def" as FullSlug, "index" as FullSlug), "../") + assert.strictEqual(path.resolveRelative("abc/def" as FullSlug, "abc" as FullSlug), "../abc") + assert.strictEqual(path.resolveRelative("abc/def" as FullSlug, "abc/def" as FullSlug), "../abc/def") + assert.strictEqual(path.resolveRelative("abc/def" as FullSlug, "ghi/jkl" as FullSlug), "../ghi/jkl") + }) + + test("with index paths", () => { + assert.strictEqual(path.resolveRelative("abc/index" as FullSlug, "index" as FullSlug), "../") + assert.strictEqual(path.resolveRelative("abc/def/index" as FullSlug, "index" as FullSlug), "../../") + assert.strictEqual(path.resolveRelative("index" as FullSlug, "abc/index" as FullSlug), "./abc/") + assert.strictEqual(path.resolveRelative("abc/def" as FullSlug, "abc/index" as FullSlug), "../abc/") + }) + + test("with simple slugs", () => { + assert.strictEqual(path.resolveRelative("abc/def" as FullSlug, "" as SimpleSlug), "../") + assert.strictEqual(path.resolveRelative("abc/def" as FullSlug, "ghi" as SimpleSlug), "../ghi") + assert.strictEqual(path.resolveRelative("abc/def" as FullSlug, "ghi/" as SimpleSlug), "../ghi/") + }) +})