[K/N][Tests] Migrate framework and objcexport tests
^KT-61259
This commit is contained in:
committed by
Space Team
parent
f00a145dd7
commit
025771460c
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||
* that can be found in the LICENSE file.
|
||||
*/
|
||||
|
||||
import Kt
|
||||
|
||||
private func testUnavailableEnum() throws {
|
||||
try assertEquals(actual: HiddenfromobjcKt.useOfUnavailableEnum(param: HiddenfromobjcKt.createUnavailableEnum()), expected: "A")
|
||||
try assertEquals(actual: HiddenfromobjcKt.useOfNullableUnavailableEnum(param: nil), expected: "null")
|
||||
try assertEquals(actual: HiddenfromobjcKt.useOfNullableUnavailableEnum(param: HiddenfromobjcKt.createUnavailableEnum()), expected: "A")
|
||||
}
|
||||
|
||||
private func testUnavailableObject() throws {
|
||||
try assertEquals(actual: HiddenfromobjcKt.useOfUnavailableObject(param: HiddenfromobjcKt.getUnavailableObject()), expected: "objectField")
|
||||
try assertEquals(actual: HiddenfromobjcKt.useOfNullableUnavailableObject(param: HiddenfromobjcKt.getUnavailableObject()), expected: "objectField")
|
||||
try assertEquals(actual: HiddenfromobjcKt.useOfNullableUnavailableObject(param: nil), expected: "null")
|
||||
}
|
||||
|
||||
private func testUnavailableInterface() throws {
|
||||
try assertEquals(actual: HiddenfromobjcKt.useOfNullableUnavailableInterface(
|
||||
param: HiddenfromobjcKt.createUnavailableInterface()),
|
||||
expected: "I'm actually unavailable, call me later."
|
||||
)
|
||||
try assertEquals(actual: HiddenfromobjcKt.useOfNullableUnavailableInterface(param: nil), expected: "null")
|
||||
}
|
||||
|
||||
private func testSealedClass() throws {
|
||||
try assertEquals(actual: HiddenfromobjcKt.useSealedClass(param: HiddenfromobjcKt.createSealedClass()), expected: "A")
|
||||
try assertEquals(actual: HiddenfromobjcKt.useSealedClass(param: SealedClass.B()), expected: "B")
|
||||
}
|
||||
|
||||
private func testUnavailableGenerics() throws {
|
||||
try assertEquals(
|
||||
actual: HiddenfromobjcKt.useUnavailable(a: HiddenfromobjcKt.createUnavailableInterface()),
|
||||
expected: "I'm actually unavailable, call me later."
|
||||
)
|
||||
|
||||
let wrapper = WrapperOverUnavailable(arg: HiddenfromobjcKt.createUnavailableInterface() as AnyObject)
|
||||
try assertEquals(
|
||||
actual: HiddenfromobjcKt.useUnavailable(a: wrapper.arg),
|
||||
expected: "I'm actually unavailable, call me later."
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
class HiddenfromobjcTests : SimpleTestProvider {
|
||||
override init() {
|
||||
super.init()
|
||||
|
||||
// Here we check that even if type is erased from Objective-C declarations, we still able to use them properly with proper objects.
|
||||
test("testUnavailableEnum", testUnavailableEnum)
|
||||
test("testUnavailableObject", testUnavailableObject)
|
||||
test("testUnavailableInterface", testUnavailableInterface)
|
||||
test("testSealedClass", testSealedClass)
|
||||
test("testUnavailableGenerics", testUnavailableGenerics)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user