Introduce Common readln() and readlnOrNull() top-level functions #KT-48456

This commit is contained in:
Abduqodiri Qurbonzoda
2021-09-05 15:31:11 +00:00
committed by Space
parent 14b66872b5
commit 97eb28144f
37 changed files with 271 additions and 6 deletions
@@ -0,0 +1,2 @@
runtime/basic/readln*CR*.in binary
runtime/basic/readln*CR*.out binary
@@ -727,6 +727,61 @@ standaloneTest("hello2") {
source = "runtime/basic/hello2.kt"
}
standaloneTest("readlnOrNull_empty") {
useGoldenData = true
useTestData = true
source = "runtime/basic/readlnOrNull_empty.kt"
}
standaloneTest("readln_empty") {
useTestData = true
outputChecker = { s -> s.contains("ReadAfterEOFException") }
expectedExitStatusChecker = { it != 0 }
source = "runtime/basic/readln_empty.kt"
}
standaloneTest("readln_alone_CR") {
useGoldenData = true
useTestData = true
source = "runtime/basic/readln_alone_CR.kt"
}
standaloneTest("readln_empty_new_line") {
useGoldenData = true
useTestData = true
source = "runtime/basic/readln_empty_new_line.kt"
}
standaloneTest("readln_multiline") {
useGoldenData = true
useTestData = true
source = "runtime/basic/readln_multiline.kt"
}
standaloneTest("readln_CR_and_CRLF") {
useGoldenData = true
useTestData = true
source = "runtime/basic/readln_CR_and_CRLF.kt"
}
standaloneTest("readln_long_line") {
useGoldenData = true
useTestData = true
source = "runtime/basic/readln_long_line.kt"
}
standaloneTest("readln_cyrillic") {
useGoldenData = true
useTestData = true
source = "runtime/basic/readln_cyrillic.kt"
}
standaloneTest("readln_multiple_empty_new_lines") {
useGoldenData = true
useTestData = true
source = "runtime/basic/readln_multiple_empty_new_lines.kt"
}
task hello3(type: KonanLocalTest) {
useGoldenData = true
source = "runtime/basic/hello3.kt"
@@ -0,0 +1,8 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the LICENSE file.
*/
fun main() {
print("${readlnOrNull()}/${readlnOrNull()}/${readlnOrNull()}")
}
@@ -0,0 +1 @@
null/null/null
@@ -0,0 +1,2 @@
aaaaaa bbb
c
@@ -0,0 +1,8 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
fun main() {
print(readln())
}
@@ -0,0 +1 @@
aaaaaa bbb
@@ -0,0 +1,8 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
fun main() {
print(readln())
}
@@ -0,0 +1 @@
Привет!
@@ -0,0 +1,8 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
fun main() {
print(readln())
}
@@ -0,0 +1 @@
Привет!
@@ -0,0 +1,8 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
fun main() {
readln()
}
@@ -0,0 +1,8 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
fun main() {
print(readln())
}
@@ -0,0 +1 @@
A very long line of input with length of more than initial buffer size
@@ -0,0 +1,8 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
fun main() {
print(readln())
}
@@ -0,0 +1 @@
A very long line of input with length of more than initial buffer size
@@ -0,0 +1,3 @@
Hello World
Second line
Third line
@@ -0,0 +1,8 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
fun main() {
print(readln())
}
@@ -0,0 +1 @@
Hello World
@@ -0,0 +1,4 @@
first
second
@@ -0,0 +1,8 @@
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
fun main() {
print("${readln()}/${readln()}/${readln()}/${readln()}/${readlnOrNull()}")
}
@@ -0,0 +1 @@
first/second///null