IO second review: empty File.subPath() allowed, OutputStream.bufferedWriter() added,

normalize(), startsWith(), endsWith() rewritten, LinesStream --> LinesSequence,
File.replaceBytes() / replaceText() rolled back to writeBytes() / writeText(),
some exception messages formulated more clearly, refactorings, comments,
relativeTo() slightly optimized, additional tests
This commit is contained in:
Mikhail Glukhikh
2015-03-23 16:16:30 +03:00
parent 88733d34eb
commit 2bc124fa3d
8 changed files with 238 additions and 282 deletions
+6 -5
View File
@@ -733,21 +733,22 @@ class FilesTest {
test fun testCopyTo() {
val srcFile = createTempFile()
val dstFile = createTempFile()
srcFile.replaceText("Hello, World!")
srcFile.writeText("Hello, World!", "UTF8")
try {
srcFile.copyTo(dstFile)
assert(false)
} catch (e: FileAlreadyExistsException) {
println(e.getMessage())
}
var len = srcFile.copyTo(dstFile, overwrite = true)
assertEquals(13L, len)
assertEquals(srcFile.readText(), dstFile.readText())
assertEquals(srcFile.readText(), dstFile.readText("UTF8"))
assert(dstFile.delete())
len = srcFile.copyTo(dstFile)
assertEquals(13L, len)
assertEquals(srcFile.readText(), dstFile.readText())
assertEquals(srcFile.readText("UTF8"), dstFile.readText())
assert(dstFile.delete())
dstFile.mkdir()
@@ -811,8 +812,8 @@ class FilesTest {
createTempDir(prefix = "d1_", directory = subDir1)
val file1 = createTempFile(prefix = "f1_", directory = src)
val file2 = createTempFile(prefix = "f2_", directory = subDir1)
file1.replaceText("hello")
file2.replaceText("wazzup")
file1.writeText("hello")
file2.writeText("wazzup")
createTempDir(prefix = "d1_", directory = subDir2)
assert(src.copyRecursively(dst))
+14 -10
View File
@@ -15,10 +15,12 @@ fun sample(): Reader = StringReader("Hello\nWorld");
class ReadWriteTest {
test fun testAppendText() {
val file = File.createTempFile("temp", System.nanoTime().toString())
file.replaceText("Hello\n")
file.appendText("World")
file.writeText("Hello\n", "UTF8")
file.appendText("World\n", "UTF8")
file.appendText("Again")
assertEquals("Hello\nWorld", file.readText())
assertEquals("Hello\nWorld\nAgain", file.readText())
assertEquals(listOf("Hello", "World", "Again"), file.readLines("UTF8"))
file.deleteOnExit()
}
@@ -71,34 +73,34 @@ class ReadWriteTest {
writer.close()
//file.replaceText("Hello\nWorld")
file.forEachBlock {(arr: ByteArray, size: Int) ->
file.forEachBlock { arr: ByteArray, size: Int ->
assertTrue(size >= 11 && size <= 12, size.toString())
assertTrue(arr.contains('W'.toByte()))
}
val list = ArrayList<String>()
file.forEachLine {
file.forEachLine("UTF8", {
list.add(it)
}
})
assertEquals(arrayListOf("Hello", "World"), list)
val text = file.inputStream().reader().readText()
assertTrue(text.contains("Hello"))
assertTrue(text.contains("World"))
file.replaceText("")
file.writeText("")
var c = 0
file.forEachLine { c++ }
assertEquals(0, c)
file.replaceText(" ")
file.writeText(" ")
file.forEachLine { c++ }
assertEquals(1, c)
file.replaceText(" \n")
file.writeText(" \n")
c = 0
file.forEachLine { c++ }
assertEquals(1, c)
file.replaceText(" \n ")
file.writeText(" \n ")
c = 0
file.forEachLine { c++ }
assertEquals(2, c)
@@ -167,5 +169,7 @@ class ReadWriteTest {
val url = URL("http://kotlinlang.org")
val text = url.readText()
assertFalse(text.isEmpty())
val text2 = url.readText("UTF8")
assertFalse(text2.isEmpty())
}
}