mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 18:38:55 +00:00
55 lines
3.7 KiB
JavaScript
55 lines
3.7 KiB
JavaScript
import { describe, test } from "bun:test";
|
|
import assert from "node:assert";
|
|
import path from "node:path";
|
|
|
|
describe("path.normalize", () => {
|
|
test("win32", () => {
|
|
assert.strictEqual(path.win32.normalize("./fixtures///b/../b/c.js"), "fixtures\\b\\c.js");
|
|
assert.strictEqual(path.win32.normalize("/foo/../../../bar"), "\\bar");
|
|
assert.strictEqual(path.win32.normalize("a//b//../b"), "a\\b");
|
|
assert.strictEqual(path.win32.normalize("a//b//./c"), "a\\b\\c");
|
|
assert.strictEqual(path.win32.normalize("a//b//."), "a\\b");
|
|
assert.strictEqual(path.win32.normalize("//server/share/dir/file.ext"), "\\\\server\\share\\dir\\file.ext");
|
|
assert.strictEqual(path.win32.normalize("/a/b/c/../../../x/y/z"), "\\x\\y\\z");
|
|
assert.strictEqual(path.win32.normalize("C:"), "C:.");
|
|
assert.strictEqual(path.win32.normalize("C:..\\abc"), "C:..\\abc");
|
|
assert.strictEqual(path.win32.normalize("C:..\\..\\abc\\..\\def"), "C:..\\..\\def");
|
|
assert.strictEqual(path.win32.normalize("C:\\."), "C:\\");
|
|
assert.strictEqual(path.win32.normalize("file:stream"), "file:stream");
|
|
assert.strictEqual(path.win32.normalize("bar\\foo..\\..\\"), "bar\\");
|
|
assert.strictEqual(path.win32.normalize("bar\\foo..\\.."), "bar");
|
|
assert.strictEqual(path.win32.normalize("bar\\foo..\\..\\baz"), "bar\\baz");
|
|
assert.strictEqual(path.win32.normalize("bar\\foo..\\"), "bar\\foo..\\");
|
|
assert.strictEqual(path.win32.normalize("bar\\foo.."), "bar\\foo..");
|
|
assert.strictEqual(path.win32.normalize("..\\foo..\\..\\..\\bar"), "..\\..\\bar");
|
|
assert.strictEqual(path.win32.normalize("..\\...\\..\\.\\...\\..\\..\\bar"), "..\\..\\bar");
|
|
assert.strictEqual(path.win32.normalize("../../../foo/../../../bar"), "..\\..\\..\\..\\..\\bar");
|
|
assert.strictEqual(path.win32.normalize("../../../foo/../../../bar/../../"), "..\\..\\..\\..\\..\\..\\");
|
|
assert.strictEqual(path.win32.normalize("../foobar/barfoo/foo/../../../bar/../../"), "..\\..\\");
|
|
assert.strictEqual(path.win32.normalize("../.../../foobar/../../../bar/../../baz"), "..\\..\\..\\..\\baz");
|
|
assert.strictEqual(path.win32.normalize("foo/bar\\baz"), "foo\\bar\\baz");
|
|
});
|
|
|
|
test("posix", () => {
|
|
assert.strictEqual(path.posix.normalize("./fixtures///b/../b/c.js"), "fixtures/b/c.js");
|
|
assert.strictEqual(path.posix.normalize("/foo/../../../bar"), "/bar");
|
|
assert.strictEqual(path.posix.normalize("a//b//../b"), "a/b");
|
|
assert.strictEqual(path.posix.normalize("a//b//./c"), "a/b/c");
|
|
assert.strictEqual(path.posix.normalize("a//b//."), "a/b");
|
|
assert.strictEqual(path.posix.normalize("/a/b/c/../../../x/y/z"), "/x/y/z");
|
|
assert.strictEqual(path.posix.normalize("///..//./foo/.//bar"), "/foo/bar");
|
|
assert.strictEqual(path.posix.normalize("bar/foo../../"), "bar/");
|
|
assert.strictEqual(path.posix.normalize("bar/foo../.."), "bar");
|
|
assert.strictEqual(path.posix.normalize("bar/foo../../baz"), "bar/baz");
|
|
assert.strictEqual(path.posix.normalize("bar/foo../"), "bar/foo../");
|
|
assert.strictEqual(path.posix.normalize("bar/foo.."), "bar/foo..");
|
|
assert.strictEqual(path.posix.normalize("../foo../../../bar"), "../../bar");
|
|
assert.strictEqual(path.posix.normalize("../.../.././.../../../bar"), "../../bar");
|
|
assert.strictEqual(path.posix.normalize("../../../foo/../../../bar"), "../../../../../bar");
|
|
assert.strictEqual(path.posix.normalize("../../../foo/../../../bar/../../"), "../../../../../../");
|
|
assert.strictEqual(path.posix.normalize("../foobar/barfoo/foo/../../../bar/../../"), "../../");
|
|
assert.strictEqual(path.posix.normalize("../.../../foobar/../../../bar/../../baz"), "../../../../baz");
|
|
assert.strictEqual(path.posix.normalize("foo/bar\\baz"), "foo/bar\\baz");
|
|
});
|
|
});
|