summaryrefslogtreecommitdiff
path: root/std/fs/path/zero_length_strings_test.ts
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2019-10-09 17:10:09 -0400
committerRyan Dahl <ry@tinyclouds.org>2019-10-09 17:10:09 -0400
commit151ce0266eb4de2c8fc600c81c192a5f791b6169 (patch)
tree7cb04016a1c7ee88adde83814548d7a9409dcde3 /std/fs/path/zero_length_strings_test.ts
parenta355f7c807686918734416d91b79c26c21effba9 (diff)
Move everything into std subdir
Diffstat (limited to 'std/fs/path/zero_length_strings_test.ts')
-rw-r--r--std/fs/path/zero_length_strings_test.ts49
1 files changed, 49 insertions, 0 deletions
diff --git a/std/fs/path/zero_length_strings_test.ts b/std/fs/path/zero_length_strings_test.ts
new file mode 100644
index 000000000..744e97735
--- /dev/null
+++ b/std/fs/path/zero_length_strings_test.ts
@@ -0,0 +1,49 @@
+// Copyright the Browserify authors. MIT License.
+// Ported from https://github.com/browserify/path-browserify/
+
+const { cwd } = Deno;
+import { test } from "../../testing/mod.ts";
+import { assertEquals } from "../../testing/asserts.ts";
+import * as path from "./mod.ts";
+
+const pwd = cwd();
+
+test(function joinZeroLength() {
+ // join will internally ignore all the zero-length strings and it will return
+ // '.' if the joined string is a zero-length string.
+ assertEquals(path.posix.join(""), ".");
+ assertEquals(path.posix.join("", ""), ".");
+ if (path.win32) assertEquals(path.win32.join(""), ".");
+ if (path.win32) assertEquals(path.win32.join("", ""), ".");
+ assertEquals(path.join(pwd), pwd);
+ assertEquals(path.join(pwd, ""), pwd);
+});
+
+test(function normalizeZeroLength() {
+ // normalize will return '.' if the input is a zero-length string
+ assertEquals(path.posix.normalize(""), ".");
+ if (path.win32) assertEquals(path.win32.normalize(""), ".");
+ assertEquals(path.normalize(pwd), pwd);
+});
+
+test(function isAbsoluteZeroLength() {
+ // Since '' is not a valid path in any of the common environments,
+ // return false
+ assertEquals(path.posix.isAbsolute(""), false);
+ if (path.win32) assertEquals(path.win32.isAbsolute(""), false);
+});
+
+test(function resolveZeroLength() {
+ // resolve, internally ignores all the zero-length strings and returns the
+ // current working directory
+ assertEquals(path.resolve(""), pwd);
+ assertEquals(path.resolve("", ""), pwd);
+});
+
+test(function relativeZeroLength() {
+ // relative, internally calls resolve. So, '' is actually the current
+ // directory
+ assertEquals(path.relative("", pwd), "");
+ assertEquals(path.relative(pwd, ""), "");
+ assertEquals(path.relative(pwd, pwd), "");
+});