From 3c855547e526f1a8371a11936709f666cfafaaff Mon Sep 17 00:00:00 2001 From: Michael Nedzelsky Date: Wed, 28 Oct 2015 16:09:27 +0300 Subject: [PATCH] improve tests for access from tests to internal for maven and gradle (add override for internal function) --- .../internalTest/src/main/kotlin/helloWorld.kt | 3 ++- .../testProject/internalTest/src/test/kotlin/tests.kt | 9 +++++++++ .../src/main/kotlin/org/jetbrains/HelloWorld.kt | 3 ++- .../src/test/java/org/jetbrains/HelloWorldTest.kt | 9 +++++++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/internalTest/src/main/kotlin/helloWorld.kt b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/internalTest/src/main/kotlin/helloWorld.kt index 5ef0d729fd2..3309a7c3eca 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/internalTest/src/main/kotlin/helloWorld.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/internalTest/src/main/kotlin/helloWorld.kt @@ -18,9 +18,10 @@ package demo internal val CONST = "CONST" -class PublicClass { +open class PublicClass { internal fun foo(): String = "foo" internal val bar: String = "bar" + open internal fun baz(): String = "PublicClass.baz()" } internal data class InternalDataClass(val x: Int, val y: Int) diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/internalTest/src/test/kotlin/tests.kt b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/internalTest/src/test/kotlin/tests.kt index 181586b502a..3212710f147 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/internalTest/src/test/kotlin/tests.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/internalTest/src/test/kotlin/tests.kt @@ -19,12 +19,21 @@ package demo import org.testng.Assert.* import org.testng.annotations.Test as test +class PublicClassHeir : PublicClass() { + override internal fun baz(): String = "PublicClassHeir.baz()" +} + class TestSource() { @test fun f() { assertEquals("CONST", CONST) assertEquals("foo", PublicClass().foo()) assertEquals("bar", PublicClass().bar) + assertEquals("PublicClass.baz()", PublicClass().baz()) + + assertEquals("foo", PublicClassHeir().foo()) + assertEquals("bar", PublicClassHeir().bar) + assertEquals("PublicClassHeir.baz()", PublicClassHeir().baz()) val data = InternalDataClass(10, 20) assertEquals(10, data.x) diff --git a/libraries/tools/kotlin-maven-plugin-test/src/it/test-accessToInternal/src/main/kotlin/org/jetbrains/HelloWorld.kt b/libraries/tools/kotlin-maven-plugin-test/src/it/test-accessToInternal/src/main/kotlin/org/jetbrains/HelloWorld.kt index 9e2e4121450..38cf55ba967 100644 --- a/libraries/tools/kotlin-maven-plugin-test/src/it/test-accessToInternal/src/main/kotlin/org/jetbrains/HelloWorld.kt +++ b/libraries/tools/kotlin-maven-plugin-test/src/it/test-accessToInternal/src/main/kotlin/org/jetbrains/HelloWorld.kt @@ -26,9 +26,10 @@ internal fun getGreeting() : String { internal val CONST = "CONST" -class PublicClass { +open class PublicClass { internal fun foo(): String = "foo" internal val bar: String = "bar" + open internal fun baz(): String = "PublicClass.baz()" } internal data class InternalDataClass(val x: Int, val y: Int) diff --git a/libraries/tools/kotlin-maven-plugin-test/src/it/test-accessToInternal/src/test/java/org/jetbrains/HelloWorldTest.kt b/libraries/tools/kotlin-maven-plugin-test/src/it/test-accessToInternal/src/test/java/org/jetbrains/HelloWorldTest.kt index ca4a2fd1807..46d8fbecc3e 100644 --- a/libraries/tools/kotlin-maven-plugin-test/src/it/test-accessToInternal/src/test/java/org/jetbrains/HelloWorldTest.kt +++ b/libraries/tools/kotlin-maven-plugin-test/src/it/test-accessToInternal/src/test/java/org/jetbrains/HelloWorldTest.kt @@ -20,6 +20,10 @@ import org.junit.Test import junit.framework.Assert.assertEquals +class PublicClassHeir : PublicClass() { + override internal fun baz(): String = "PublicClassHeir.baz()" +} + class HelloWorldTest { @Test @@ -33,6 +37,11 @@ class HelloWorldTest { assertEquals("foo", PublicClass().foo()) assertEquals("bar", PublicClass().bar) + assertEquals("PublicClass.baz()", PublicClass().baz()) + + assertEquals("foo", PublicClassHeir().foo()) + assertEquals("bar", PublicClassHeir().bar) + assertEquals("PublicClassHeir.baz()", PublicClassHeir().baz()) val data = InternalDataClass(10, 20) assertEquals(10, data.x)