[K/N] Add a trivial test-case for KT-40426

This commit is contained in:
Sergey Bogolepov
2023-01-17 12:19:24 +02:00
committed by Space Team
parent d0778d78b5
commit 9bffec268a
3 changed files with 43 additions and 0 deletions
@@ -5234,6 +5234,14 @@ if (PlatformInfo.isAppleTarget(project)) {
useGoldenData = true
UtilsKt.dependsOnPlatformLibs(it)
}
standaloneTest("interop_kt40426") {
// Test depends on iOS-specific UIKit
enabled = (project.testTarget == 'ios_x64' || project.testTarget == 'ios_simulator_arm64' || project.testTarget == 'ios_arm64')
source = "interop/objc/kt40426/main.kt"
useGoldenData = true
UtilsKt.dependsOnPlatformLibs(it)
}
}
tasks.register("KT-50983", KonanDriverTest) {
@@ -0,0 +1,33 @@
/*
* Copyright 2010-2023 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.
*/
import kotlinx.cinterop.*
import platform.UIKit.*
import platform.CoreGraphics.*
import platform.Foundation.NSString
class SmileView(frame: CValue<CGRect>): UIView(frame = frame) {
override fun drawRect(rect: CValue<CGRect>) {
super.drawRect(rect)
val smile = ":)" as NSString
smile.drawInRect(rect, withAttributes = null)
println("SmileView::drawRect")
}
override fun layoutSubviews() {
super.layoutSubviews()
println("SmileView::layoutSubviews")
}
}
fun main() {
memScoped {
val frame = alloc<CGRect>()
val x = SmileView(frame.readValue())
x.drawRect(frame.readValue())
x.layoutSubviews()
}
}
@@ -0,0 +1,2 @@
SmileView::drawRect
SmileView::layoutSubviews