summaryrefslogtreecommitdiff
path: root/libs/utils/src/test
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@spawned.biz>2024-09-25 22:16:26 +0200
committerJoel Klinghed <the_jk@spawned.biz>2024-09-25 22:16:26 +0200
commitf03c738a9e39053ad185084bf83bf6e526011b71 (patch)
tree86baa67bb76e7e7f2f12a41afd8ddc8ea3506164 /libs/utils/src/test
parent2d8949a0d9333bfda2385e3eab124581704286bf (diff)
samba & sftp: Share path utils methods
Add tests for them, and add basename, currently unused, for completeness
Diffstat (limited to 'libs/utils/src/test')
-rw-r--r--libs/utils/src/test/java/org/the_jk/cleversync/PathUtilsTest.kt58
1 files changed, 58 insertions, 0 deletions
diff --git a/libs/utils/src/test/java/org/the_jk/cleversync/PathUtilsTest.kt b/libs/utils/src/test/java/org/the_jk/cleversync/PathUtilsTest.kt
new file mode 100644
index 0000000..eb1d63f
--- /dev/null
+++ b/libs/utils/src/test/java/org/the_jk/cleversync/PathUtilsTest.kt
@@ -0,0 +1,58 @@
+package org.the_jk.cleversync
+
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+
+class PathUtilsTest {
+ @Test
+ fun dirname() {
+ assertThat(PathUtils.dirname("")).isEqualTo(".")
+ assertThat(PathUtils.dirname("foo")).isEqualTo(".")
+ assertThat(PathUtils.dirname("foo/")).isEqualTo(".")
+ assertThat(PathUtils.dirname("foo/bar")).isEqualTo("foo")
+ assertThat(PathUtils.dirname("/")).isEqualTo("/")
+ assertThat(PathUtils.dirname("//")).isEqualTo("/")
+ assertThat(PathUtils.dirname("/foo")).isEqualTo("/")
+ assertThat(PathUtils.dirname("/foo/")).isEqualTo("/")
+ }
+
+ @Test
+ fun basename() {
+ assertThat(PathUtils.basename("")).isEmpty()
+ assertThat(PathUtils.basename("foo")).isEqualTo("foo")
+ assertThat(PathUtils.basename("foo/")).isEqualTo("foo")
+ assertThat(PathUtils.basename("foo/bar")).isEqualTo("bar")
+ assertThat(PathUtils.basename("/")).isEqualTo("/")
+ assertThat(PathUtils.basename("//")).isEqualTo("/")
+ assertThat(PathUtils.basename("/foo")).isEqualTo("foo")
+ assertThat(PathUtils.basename("/foo/")).isEqualTo("foo")
+ }
+
+ @Test
+ fun join() {
+ assertThat(PathUtils.join("", "")).isEmpty()
+ assertThat(PathUtils.join("/", "")).isEqualTo("/")
+ assertThat(PathUtils.join("", "/")).isEqualTo("/")
+ assertThat(PathUtils.join("/", "/")).isEqualTo("/")
+ assertThat(PathUtils.join("foo", "bar")).isEqualTo("foo/bar")
+ assertThat(PathUtils.join("foo/", "bar")).isEqualTo("foo/bar")
+ assertThat(PathUtils.join("foo", "/bar")).isEqualTo("/bar")
+ assertThat(PathUtils.join("/foo", "/bar")).isEqualTo("/bar")
+ assertThat(PathUtils.join("/foo", "bar/")).isEqualTo("/foo/bar/")
+ assertThat(PathUtils.join("/foo/", "bar/")).isEqualTo("/foo/bar/")
+ }
+
+ @Test
+ fun resolve() {
+ assertThat(PathUtils.resolve("")).isEmpty()
+ assertThat(PathUtils.resolve("/")).isEqualTo("/")
+ assertThat(PathUtils.resolve("../foo")).isEqualTo("foo")
+ assertThat(PathUtils.resolve("/../foo")).isEqualTo("/foo")
+ assertThat(PathUtils.resolve("foo/../bar")).isEqualTo("bar")
+ assertThat(PathUtils.resolve("/foo/../bar")).isEqualTo("/bar")
+ assertThat(PathUtils.resolve("foo/./bar")).isEqualTo("foo/bar")
+ assertThat(PathUtils.resolve("/foo/./bar")).isEqualTo("/foo/bar")
+ assertThat(PathUtils.resolve("foo/../../../bar/")).isEqualTo("bar")
+ assertThat(PathUtils.resolve("/foo/../../../bar/")).isEqualTo("/bar")
+ }
+}