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'
|
it.defFile 'interop/basics/cunsupported.def'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
createInterop("ctoKString") {
|
||||||
|
it.defFile 'interop/basics/ctoKString.def'
|
||||||
|
}
|
||||||
|
|
||||||
createInterop("ctypes") {
|
createInterop("ctypes") {
|
||||||
it.defFile 'interop/basics/ctypes.def'
|
it.defFile 'interop/basics/ctypes.def'
|
||||||
}
|
}
|
||||||
@@ -4119,6 +4123,12 @@ interopTest("interop_unsupported") {
|
|||||||
interop = 'cunsupported'
|
interop = 'cunsupported'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interopTest("interop_toKString") {
|
||||||
|
disabled = (project.testTarget == 'wasm32') // No interop for wasm yet.
|
||||||
|
source = "interop/basics/toKString.kt"
|
||||||
|
interop = 'ctoKString'
|
||||||
|
}
|
||||||
|
|
||||||
interopTest("interop_types") {
|
interopTest("interop_types") {
|
||||||
disabled = (project.testTarget == 'wasm32') // No interop for wasm yet.
|
disabled = (project.testTarget == 'wasm32') // No interop for wasm yet.
|
||||||
source = "interop/basics/types.kt"
|
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