Ensure resolveTo fails as expected.
Change UNC paths not to be misinterpreted on *nix.
This commit is contained in:
@@ -2,7 +2,6 @@ package test.io
|
|||||||
|
|
||||||
import java.io.*
|
import java.io.*
|
||||||
import org.junit.Test as test
|
import org.junit.Test as test
|
||||||
import kotlin.test.assertEquals
|
|
||||||
import kotlin.io.walkTopDown
|
import kotlin.io.walkTopDown
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
|
|
||||||
@@ -91,8 +90,8 @@ class FilesTest {
|
|||||||
val file7 = File("C:\\Users\\Me\\Documents")
|
val file7 = File("C:\\Users\\Me\\Documents")
|
||||||
assertEquals("..", file6.relativeTo(file7))
|
assertEquals("..", file6.relativeTo(file7))
|
||||||
assertEquals("Documents", file7.relativeTo(file6))
|
assertEquals("Documents", file7.relativeTo(file6))
|
||||||
val file8 = File("//my.host/home/user/documents/vip")
|
val file8 = File("""\\my.host\home/user/documents/vip""")
|
||||||
val file9 = File("//my.host/home/other/images/nice")
|
val file9 = File("""\\my.host\home/other/images/nice""")
|
||||||
assertEquals("../../../user/documents/vip".separatorsToSystem(), file8.relativeTo(file9))
|
assertEquals("../../../user/documents/vip".separatorsToSystem(), file8.relativeTo(file9))
|
||||||
assertEquals("../../../other/images/nice".separatorsToSystem(), file9.relativeTo(file8))
|
assertEquals("../../../other/images/nice".separatorsToSystem(), file9.relativeTo(file8))
|
||||||
val file10 = File("foo/bar")
|
val file10 = File("foo/bar")
|
||||||
@@ -101,6 +100,22 @@ class FilesTest {
|
|||||||
assertEquals("..", file11.relativeTo(file10))
|
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<IllegalArgumentException>("file: $file, base: $base") { file.relativeTo(base) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@test fun relativeTo() {
|
@test fun relativeTo() {
|
||||||
assertEquals("kotlin", File("src/kotlin".separatorsToSystem()).relativeTo(File("src")))
|
assertEquals("kotlin", File("src/kotlin".separatorsToSystem()).relativeTo(File("src")))
|
||||||
assertEquals("", File("dir").relativeTo(File("dir")))
|
assertEquals("", File("dir").relativeTo(File("dir")))
|
||||||
|
|||||||
Reference in New Issue
Block a user