[stdlib] Specify EXACTLY_ONCE contract for useLines

This commit is contained in:
Ilya Gorbunov
2024-03-05 10:46:36 +01:00
committed by Space Team
parent ed8c71442b
commit 7175680917
5 changed files with 38 additions and 10 deletions
+12 -4
View File
@@ -47,9 +47,13 @@ class ReadWriteTest {
assertEquals(listOf("Hello", "World"), sample().readLines())
sample().useLines {
assertEquals(listOf("Hello", "World"), it.toList())
val lines: List<String>
val linesResult = sample().useLines {
lines = it.toList()
lines
}
assertEquals(listOf("Hello", "World"), lines)
assertEquals(lines, linesResult)
var reader = StringReader("")
@@ -94,9 +98,13 @@ class ReadWriteTest {
assertEquals(arrayListOf("Hello", "World"), file.readLines())
file.useLines {
assertEquals(arrayListOf("Hello", "World"), it.toList())
val lines: List<String>
val linesResult = file.useLines {
lines = it.toList()
lines
}
assertEquals(listOf("Hello", "World"), lines)
assertEquals(lines, linesResult)
val text = file.inputStream().reader().readText()
assertTrue(text.contains("Hello"))