From f03c738a9e39053ad185084bf83bf6e526011b71 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Wed, 25 Sep 2024 22:16:26 +0200 Subject: samba & sftp: Share path utils methods Add tests for them, and add basename, currently unused, for completeness --- .../java/org/the_jk/cleversync/PathUtilsTest.kt | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 libs/utils/src/test/java/org/the_jk/cleversync/PathUtilsTest.kt (limited to 'libs/utils/src/test/java/org/the_jk/cleversync') 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") + } +} -- cgit v1.2.3-70-g09d2