[K/N] Do not export all operator component functions in data classes

^KT-57507
This commit is contained in:
Pavel Kunyavskiy
2023-03-28 18:19:49 +02:00
committed by Space Team
parent 3b0c36da3f
commit ac8cbcafb4
6 changed files with 60 additions and 6 deletions
@@ -27,6 +27,16 @@ private func testTopLevelComponentMethodsAreAccessible() throws {
try assertEquals(actual: DataClassComponentMethodsKt.component4(), expected: 6)
}
private func testComponentExportedOrNot() throws {
try assertFalse(class_respondsToSelector(object_getClass(DataClassWithStrangeNames.self), NSSelectorFromString("component1")));
try assertFalse(class_respondsToSelector(object_getClass(DataClassWithStrangeNames.self), NSSelectorFromString("component2")));
try assertFalse(class_respondsToSelector(object_getClass(DataClassWithStrangeNames.self), NSSelectorFromString("component15")));
let r = DataClassWithStrangeNames(component124: 1, componentABC:2)
try assertEquals(actual: r.component124, expected: 1)
try assertEquals(actual: r.componentABC, expected: 2)
try assertEquals(actual: r.component16(), expected: 1)
}
class DataClassComponentMethodsTests : SimpleTestProvider {
override init() {
super.init()
@@ -34,5 +44,6 @@ class DataClassComponentMethodsTests : SimpleTestProvider {
test("testCustomComponentMethodsAreAccessible", testCustomComponentMethodsAreAccessible)
test("testRegularComponentMethodsAreAccessible", testRegularComponentMethodsAreAccessible)
test("testTopLevelComponentMethodsAreAccessible", testTopLevelComponentMethodsAreAccessible)
test("testComponentExportedOrNot", testComponentExportedOrNot)
}
}