diff options
| author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2020-05-09 13:34:47 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-09 08:34:47 -0400 |
| commit | f184332c09c851faac50f598d29ebe4426e05464 (patch) | |
| tree | 2659aba63702537fcde1bb64ddeafea1e5863f3e /std/fs/_util_test.ts | |
| parent | 2b02535028f868ea8dfc471c4921a237747ccd4a (diff) | |
BREAKING(std): reorganization (#5087)
* Prepend underscores to private modules
* Remove collectUint8Arrays() It would be a misuse of Deno.iter()'s result.
* Move std/_util/async.ts to std/async
* Move std/util/sha*.ts to std/hash
Diffstat (limited to 'std/fs/_util_test.ts')
| -rw-r--r-- | std/fs/_util_test.ts | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/std/fs/_util_test.ts b/std/fs/_util_test.ts new file mode 100644 index 000000000..48fc33ecd --- /dev/null +++ b/std/fs/_util_test.ts @@ -0,0 +1,63 @@ +// Copyright the Browserify authors. MIT License. + +import { assertEquals } from "../testing/asserts.ts"; +import * as path from "../path/mod.ts"; +import { isSubdir, getFileInfoType, PathType } from "./_util.ts"; +import { ensureFileSync } from "./ensure_file.ts"; +import { ensureDirSync } from "./ensure_dir.ts"; + +const testdataDir = path.resolve("fs", "testdata"); + +Deno.test("_isSubdir", function (): void { + const pairs = [ + ["", "", false, path.posix.sep], + ["/first/second", "/first", false, path.posix.sep], + ["/first", "/first", false, path.posix.sep], + ["/first", "/first/second", true, path.posix.sep], + ["first", "first/second", true, path.posix.sep], + ["../first", "../first/second", true, path.posix.sep], + ["c:\\first", "c:\\first", false, path.win32.sep], + ["c:\\first", "c:\\first\\second", true, path.win32.sep], + ]; + + pairs.forEach(function (p): void { + const src = p[0] as string; + const dest = p[1] as string; + const expected = p[2] as boolean; + const sep = p[3] as string; + assertEquals( + isSubdir(src, dest, sep), + expected, + `'${src}' should ${expected ? "" : "not"} be parent dir of '${dest}'` + ); + }); +}); + +Deno.test("_getFileInfoType", function (): void { + const pairs = [ + [path.join(testdataDir, "file_type_1"), "file"], + [path.join(testdataDir, "file_type_dir_1"), "dir"], + ]; + + pairs.forEach(function (p): void { + const filePath = p[0] as string; + const type = p[1] as PathType; + switch (type) { + case "file": + ensureFileSync(filePath); + break; + case "dir": + ensureDirSync(filePath); + break; + case "symlink": + // TODO(axetroy): test symlink + break; + } + + const stat = Deno.statSync(filePath); + + Deno.removeSync(filePath, { recursive: true }); + + assertEquals(getFileInfoType(stat), type); + }); +}); |
