testPageUnderABase
tcmts.cli.web.testPageUnderABase · #lq2aypsb · term
import { normalBase, pageUnder } from "#codebase/tcmts/cli/web";
import assert from "node:assert/strict";
export const testPageUnderABase = () => {
assert.equal(normalBase(undefined), "");
assert.equal(normalBase("/"), "");
assert.equal(normalBase("examples/notes/"), "/examples/notes");
assert.throws(() => normalBase("/a/../b"));
assert.throws(() => normalBase("/a b"));
const page =
'<html><head><script type="importmap">{"imports":{"x":"/_app/assets/x.js"}}</script></head><body><script type="module" src="/_app/assets/index.js"></script></body></html>';
assert.equal(pageUnder(page, ""), page);
const under = pageUnder(page, "/examples/notes");
assert.match(under, /"\/examples\/notes\/_app\/assets\/x\.js"/);
assert.match(under, /src="\/examples\/notes\/_app\/assets\/index\.js"/);
assert.match(under, /<head>\n<script>var __TCM_BASE__ = "\/examples\/notes";<\/script>/);
assert.doesNotMatch(under, /"\/_app\//);
}
uses