diff --git a/libraries/stdlib/test/io/Files.kt b/libraries/stdlib/test/io/Files.kt index d38e1f5d1bf..b812170b782 100644 --- a/libraries/stdlib/test/io/Files.kt +++ b/libraries/stdlib/test/io/Files.kt @@ -2,7 +2,6 @@ package test.io import java.io.* import org.junit.Test as test -import kotlin.test.assertEquals import kotlin.io.walkTopDown import kotlin.test.* @@ -91,8 +90,8 @@ class FilesTest { val file7 = File("C:\\Users\\Me\\Documents") assertEquals("..", file6.relativeTo(file7)) assertEquals("Documents", file7.relativeTo(file6)) - val file8 = File("//my.host/home/user/documents/vip") - val file9 = File("//my.host/home/other/images/nice") + val file8 = File("""\\my.host\home/user/documents/vip""") + val file9 = File("""\\my.host\home/other/images/nice""") assertEquals("../../../user/documents/vip".separatorsToSystem(), file8.relativeTo(file9)) assertEquals("../../../other/images/nice".separatorsToSystem(), file9.relativeTo(file8)) val file10 = File("foo/bar") @@ -101,6 +100,22 @@ class FilesTest { assertEquals("..", file11.relativeTo(file10)) } + @test fun relativeToFails() { + val absolute = File("/foo/bar/baz") + val relative = File("foo/bar") + val networkShare1 = File("""\\my.host\share1/folder""") + val networkShare2 = File("""\\my.host\share2/folder""") + + val allFiles = listOf(absolute, relative, networkShare1, networkShare2) + for (file in allFiles) { + for (base in allFiles) { + if (file != base) { + assertFailsWith("file: $file, base: $base") { file.relativeTo(base) } + } + } + } + } + @test fun relativeTo() { assertEquals("kotlin", File("src/kotlin".separatorsToSystem()).relativeTo(File("src"))) assertEquals("", File("dir").relativeTo(File("dir")))