[K/N][Tests] Migrate framework and objcexport tests

^KT-61259
This commit is contained in:
Vladimir Sukharev
2024-01-22 20:12:14 +01:00
committed by Space Team
parent f00a145dd7
commit 025771460c
136 changed files with 698 additions and 416 deletions
@@ -0,0 +1,17 @@
language=Objective-C
---
struct ForwardDeclaredStruct;
@class ForwardDeclaredClass;
@protocol ForwardDeclaredProtocol;
struct ForwardDeclaredStruct* sameStruct(struct ForwardDeclaredStruct* ptr) {
return ptr;
}
ForwardDeclaredClass* sameClass(ForwardDeclaredClass* obj) {
return obj;
}
id<ForwardDeclaredProtocol> sameProtocol(id<ForwardDeclaredProtocol> obj) {
return obj;
}
@@ -0,0 +1,10 @@
@file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
import forwardDeclarations.*
import cnames.structs.ForwardDeclaredStruct
import objcnames.classes.ForwardDeclaredClass
import objcnames.protocols.ForwardDeclaredProtocolProtocol
import kotlinx.cinterop.CPointer
fun sameForwardDeclaredStruct(ptr: CPointer<ForwardDeclaredStruct>?): CPointer<ForwardDeclaredStruct>? = sameStruct(ptr)
fun sameForwardDeclaredClass(obj: ForwardDeclaredClass?): ForwardDeclaredClass? = sameClass(obj)
fun sameForwardDeclaredProtocol(obj: ForwardDeclaredProtocolProtocol?): ForwardDeclaredProtocolProtocol? = sameProtocol(obj)
@@ -0,0 +1,25 @@
import ForwardDeclarations
private func test1() throws {
let ptr = UnsafeMutableRawPointer(bitPattern: 0x1234)
try assertEquals(actual: ForwardDeclarationsKt.sameForwardDeclaredStruct(ptr: ptr), expected: ptr)
// We can't actually test this, because Swift can't import neither types nor functions due to
// "interface/protocol '...' is incomplete":
//
// let classObj: ForwardDeclaredClass? = nil
// try assertNil(LibKt.sameForwardDeclaredClass(obj: classObj))
//
// let protocolObj: ForwardDeclaredProtocol? = nil
// try assertNil(LibKt.sameForwardDeclaredProtocol(obj: protocolObj))
}
// -------- Execution of the test --------
class ForwardDeclarationsTests : SimpleTestProvider {
override init() {
super.init()
test("test1", test1)
}
}