Add some tests for CPointer.toKStringFromUtf8
This commit is contained in:
committed by
Vasily Levchenko
parent
bea8edb10c
commit
dc2d014504
@@ -3805,6 +3805,10 @@ createInterop("cunsupported") {
|
||||
it.defFile 'interop/basics/cunsupported.def'
|
||||
}
|
||||
|
||||
createInterop("ctoKString") {
|
||||
it.defFile 'interop/basics/ctoKString.def'
|
||||
}
|
||||
|
||||
createInterop("ctypes") {
|
||||
it.defFile 'interop/basics/ctypes.def'
|
||||
}
|
||||
@@ -4119,6 +4123,12 @@ interopTest("interop_unsupported") {
|
||||
interop = 'cunsupported'
|
||||
}
|
||||
|
||||
interopTest("interop_toKString") {
|
||||
disabled = (project.testTarget == 'wasm32') // No interop for wasm yet.
|
||||
source = "interop/basics/toKString.kt"
|
||||
interop = 'ctoKString'
|
||||
}
|
||||
|
||||
interopTest("interop_types") {
|
||||
disabled = (project.testTarget == 'wasm32') // No interop for wasm yet.
|
||||
source = "interop/basics/types.kt"
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
const char* empty() { return ""; }
|
||||
const char* foo() { return "foo"; }
|
||||
const char* kuku() { return "куку"; }
|
||||
const char* invalid_utf8() { return "\x85\xAF"; }
|
||||
const char* zero_in_the_middle() { return "before zero\0after zero"; }
|
||||
@@ -0,0 +1,12 @@
|
||||
import ctoKString.*
|
||||
import kotlinx.cinterop.*
|
||||
import kotlin.native.*
|
||||
import kotlin.test.*
|
||||
|
||||
fun main() {
|
||||
assertEquals("", empty()!!.toKStringFromUtf8())
|
||||
assertEquals("foo", foo()!!.toKStringFromUtf8())
|
||||
assertEquals("куку", kuku()!!.toKStringFromUtf8())
|
||||
assertEquals("\uFFFD\uFFFD", invalid_utf8()!!.toKStringFromUtf8())
|
||||
assertEquals("before zero", zero_in_the_middle()!!.toKStringFromUtf8())
|
||||
}
|
||||
Reference in New Issue
Block a user