summaryrefslogtreecommitdiff
path: root/std/path/parse_format_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/path/parse_format_test.ts')
-rw-r--r--std/path/parse_format_test.ts186
1 files changed, 0 insertions, 186 deletions
diff --git a/std/path/parse_format_test.ts b/std/path/parse_format_test.ts
deleted file mode 100644
index 785588359..000000000
--- a/std/path/parse_format_test.ts
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright the Browserify authors. MIT License.
-// Ported from https://github.com/browserify/path-browserify/
-import type { FormatInputPathObject, ParsedPath } from "./mod.ts";
-
-import { assertEquals } from "../testing/asserts.ts";
-import { posix, win32 } from "./mod.ts";
-
-type FormatTestCase = [FormatInputPathObject, string];
-type ParseTestCase = [string, ParsedPath];
-
-const winPaths: Array<[string, string]> = [
- // [path, root]
- ["C:\\path\\dir\\index.html", "C:\\"],
- ["C:\\another_path\\DIR\\1\\2\\33\\\\index", "C:\\"],
- ["another_path\\DIR with spaces\\1\\2\\33\\index", ""],
- ["\\", "\\"],
- ["\\foo\\C:", "\\"],
- ["file", ""],
- ["file:stream", ""],
- [".\\file", ""],
- ["C:", "C:"],
- ["C:.", "C:"],
- ["C:..", "C:"],
- ["C:abc", "C:"],
- ["C:\\", "C:\\"],
- ["C:\\abc", "C:\\"],
- ["", ""],
- // unc
- ["\\\\server\\share\\file_path", "\\\\server\\share\\"],
- [
- "\\\\server two\\shared folder\\file path.zip",
- "\\\\server two\\shared folder\\",
- ],
- ["\\\\teela\\admin$\\system32", "\\\\teela\\admin$\\"],
- ["\\\\?\\UNC\\server\\share", "\\\\?\\UNC\\"],
-];
-
-const winSpecialCaseParseTests: ParseTestCase[] = [
- ["/foo/bar", { root: "/", dir: "/foo", base: "bar", ext: "", name: "bar" }],
-];
-
-const winSpecialCaseFormatTests: FormatTestCase[] = [
- [{ dir: "some\\dir" }, "some\\dir\\"],
- [{ base: "index.html" }, "index.html"],
- [{ root: "C:\\" }, "C:\\"],
- [{ name: "index", ext: ".html" }, "index.html"],
- [{ dir: "some\\dir", name: "index", ext: ".html" }, "some\\dir\\index.html"],
- [{ root: "C:\\", name: "index", ext: ".html" }, "C:\\index.html"],
- [{}, ""],
-];
-
-const unixPaths: Array<[string, string]> = [
- // [path, root]
- ["/home/user/dir/file.txt", "/"],
- ["/home/user/a dir/another File.zip", "/"],
- ["/home/user/a dir//another&File.", "/"],
- ["/home/user/a$$$dir//another File.zip", "/"],
- ["user/dir/another File.zip", ""],
- ["file", ""],
- [".\\file", ""],
- ["./file", ""],
- ["C:\\foo", ""],
- ["/", "/"],
- ["", ""],
- [".", ""],
- ["..", ""],
- ["/foo", "/"],
- ["/foo.", "/"],
- ["/foo.bar", "/"],
- ["/.", "/"],
- ["/.foo", "/"],
- ["/.foo.bar", "/"],
- ["/foo/bar.baz", "/"],
-];
-
-const unixSpecialCaseFormatTests: FormatTestCase[] = [
- [{ dir: "some/dir" }, "some/dir/"],
- [{ base: "index.html" }, "index.html"],
- [{ root: "/" }, "/"],
- [{ name: "index", ext: ".html" }, "index.html"],
- [{ dir: "some/dir", name: "index", ext: ".html" }, "some/dir/index.html"],
- [{ root: "/", name: "index", ext: ".html" }, "/index.html"],
- [{}, ""],
-];
-
-function checkParseFormat(
- path: typeof win32 | typeof posix,
- testCases: Array<[string, string]>,
-): void {
- testCases.forEach(([element, root]) => {
- const output = path.parse(element);
- assertEquals(typeof output.root, "string");
- assertEquals(typeof output.dir, "string");
- assertEquals(typeof output.base, "string");
- assertEquals(typeof output.ext, "string");
- assertEquals(typeof output.name, "string");
- assertEquals(path.format(output), element);
- assertEquals(output.root, root);
- assertEquals(output.dir, output.dir ? path.dirname(element) : "");
- assertEquals(output.base, path.basename(element));
- assertEquals(output.ext, path.extname(element));
- });
-}
-
-function checkSpecialCaseParseFormat(
- path: typeof win32 | typeof posix,
- testCases: ParseTestCase[],
-): void {
- testCases.forEach(([element, expect]) => {
- assertEquals(path.parse(element), expect);
- });
-}
-
-function checkFormat(
- path: typeof win32 | typeof posix,
- testCases: FormatTestCase[],
-): void {
- testCases.forEach((testCase) => {
- assertEquals(path.format(testCase[0]), testCase[1]);
- });
-}
-
-Deno.test("parseWin32", function () {
- checkParseFormat(win32, winPaths);
- checkSpecialCaseParseFormat(win32, winSpecialCaseParseTests);
-});
-
-Deno.test("parse", function () {
- checkParseFormat(posix, unixPaths);
-});
-
-Deno.test("formatWin32", function () {
- checkFormat(win32, winSpecialCaseFormatTests);
-});
-
-Deno.test("format", function () {
- checkFormat(posix, unixSpecialCaseFormatTests);
-});
-
-// Test removal of trailing path separators
-const windowsTrailingTests: ParseTestCase[] = [
- [".\\", { root: "", dir: "", base: ".", ext: "", name: "." }],
- ["\\\\", { root: "\\", dir: "\\", base: "", ext: "", name: "" }],
- ["\\\\", { root: "\\", dir: "\\", base: "", ext: "", name: "" }],
- [
- "c:\\foo\\\\\\",
- { root: "c:\\", dir: "c:\\", base: "foo", ext: "", name: "foo" },
- ],
- [
- "D:\\foo\\\\\\bar.baz",
- {
- root: "D:\\",
- dir: "D:\\foo\\\\",
- base: "bar.baz",
- ext: ".baz",
- name: "bar",
- },
- ],
-];
-
-const posixTrailingTests: ParseTestCase[] = [
- ["./", { root: "", dir: "", base: ".", ext: "", name: "." }],
- ["//", { root: "/", dir: "/", base: "", ext: "", name: "" }],
- ["///", { root: "/", dir: "/", base: "", ext: "", name: "" }],
- ["/foo///", { root: "/", dir: "/", base: "foo", ext: "", name: "foo" }],
- [
- "/foo///bar.baz",
- { root: "/", dir: "/foo//", base: "bar.baz", ext: ".baz", name: "bar" },
- ],
-];
-
-Deno.test("parseTrailingWin32", function () {
- windowsTrailingTests.forEach(function (p) {
- const actual = win32.parse(p[0]);
- const expected = p[1];
- assertEquals(actual, expected);
- });
-});
-
-Deno.test("parseTrailing", function () {
- posixTrailingTests.forEach(function (p) {
- const actual = posix.parse(p[0]);
- const expected = p[1];
- assertEquals(actual, expected);
- });
-});