Add test for @ExportObjCClass

This commit is contained in:
Svyatoslav Scherbina
2019-11-06 18:28:15 +03:00
committed by SvyatoslavScherbina
parent 2ab356b34a
commit 0109e6cafb
2 changed files with 16 additions and 1 deletions
@@ -1,3 +1,4 @@
language = Objective-C
headers = Foundation/NSArray.h Foundation/NSValue.h Foundation/NSString.h Foundation/NSStream.h
headerFilter = **/smoke.h Foundation/NSArray.h Foundation/NSValue.h Foundation/NSString.h Foundation/NSStream.h
headerFilter = **/smoke.h Foundation/NSArray.h Foundation/NSValue.h Foundation/NSString.h Foundation/NSStream.h \
objc/objc.h
@@ -28,6 +28,7 @@ fun run() {
testInitWithCustomSelector()
testAllocNoRetain()
testNSOutputStreamToMemoryConstructor()
testExportObjCClass()
assertEquals(2, ForwardDeclaredEnum.TWO.value)
@@ -439,6 +440,19 @@ fun testNSOutputStreamToMemoryConstructor() {
assertTrue(stream is NSOutputStream)
}
private const val TestExportObjCClass1Name = "TestExportObjCClass"
@ExportObjCClass(TestExportObjCClass1Name) class TestExportObjCClass1 : NSObject()
@ExportObjCClass class TestExportObjCClass2 : NSObject()
fun testExportObjCClass() {
assertEquals(TestExportObjCClass1Name, TestExportObjCClass1().objCClassName)
assertEquals("TestExportObjCClass2", TestExportObjCClass2().objCClassName)
}
private val Any.objCClassName: String
get() = object_getClassName(this)!!.toKString()
fun nsArrayOf(vararg elements: Any): NSArray = NSMutableArray().apply {
elements.forEach {
this.addObject(it as ObjCObject)