From 434018f6795c066d5e69b0bcc8531bdc4ecaed07 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Sat, 18 Mar 2017 21:59:54 +0300 Subject: [PATCH] ScriptConfigurationNavigationTest: test navigation to kotlin library --- .../navigation/kotlinLib/lib/test/custom.kt | 7 ++++++ .../navigation/kotlinLib/script.kts | 3 +++ .../navigation/kotlinLib/template/template.kt | 23 ++++++++++++++++++ .../kotlinLibWithSources/lib/test/custom.kt | 7 ++++++ .../kotlinLibWithSources/script.kts | 3 +++ .../kotlinLibWithSources/template/template.kt | 24 +++++++++++++++++++ ...tConfigurationNavigationTestGenerated.java | 12 ++++++++++ 7 files changed, 79 insertions(+) create mode 100644 idea/testData/script/definition/navigation/kotlinLib/lib/test/custom.kt create mode 100644 idea/testData/script/definition/navigation/kotlinLib/script.kts create mode 100644 idea/testData/script/definition/navigation/kotlinLib/template/template.kt create mode 100644 idea/testData/script/definition/navigation/kotlinLibWithSources/lib/test/custom.kt create mode 100644 idea/testData/script/definition/navigation/kotlinLibWithSources/script.kts create mode 100644 idea/testData/script/definition/navigation/kotlinLibWithSources/template/template.kt diff --git a/idea/testData/script/definition/navigation/kotlinLib/lib/test/custom.kt b/idea/testData/script/definition/navigation/kotlinLib/lib/test/custom.kt new file mode 100644 index 00000000000..e98015f518f --- /dev/null +++ b/idea/testData/script/definition/navigation/kotlinLib/lib/test/custom.kt @@ -0,0 +1,7 @@ +package test + +object KObject { + fun foo() { + + } +} \ No newline at end of file diff --git a/idea/testData/script/definition/navigation/kotlinLib/script.kts b/idea/testData/script/definition/navigation/kotlinLib/script.kts new file mode 100644 index 00000000000..2d3b36bc7f4 --- /dev/null +++ b/idea/testData/script/definition/navigation/kotlinLib/script.kts @@ -0,0 +1,3 @@ +test.KObject.foo() +// REF: (in test.KObject).foo() +// FILE: test/KObject.class \ No newline at end of file diff --git a/idea/testData/script/definition/navigation/kotlinLib/template/template.kt b/idea/testData/script/definition/navigation/kotlinLib/template/template.kt new file mode 100644 index 00000000000..ffe507697d7 --- /dev/null +++ b/idea/testData/script/definition/navigation/kotlinLib/template/template.kt @@ -0,0 +1,23 @@ +package custom.scriptDefinition + +import org.jetbrains.kotlin.script.* +import java.io.File +import java.util.concurrent.CompletableFuture +import java.util.concurrent.Future + +class TestDependenciesResolver : ScriptDependenciesResolver { + override fun resolve( + script: ScriptContents, + environment: Map?, + report: (ScriptDependenciesResolver.ReportSeverity, String, ScriptContents.Position?) -> Unit, previousDependencies: KotlinScriptExternalDependencies? + ): Future { + return CompletableFuture.completedFuture( + object : KotlinScriptExternalDependencies { + override val classpath: Iterable = listOf(environment?.get("lib-classes") as File) + }) + + } +} + +@ScriptTemplateDefinition(TestDependenciesResolver::class, scriptFilePattern = "script.kts") +class Template diff --git a/idea/testData/script/definition/navigation/kotlinLibWithSources/lib/test/custom.kt b/idea/testData/script/definition/navigation/kotlinLibWithSources/lib/test/custom.kt new file mode 100644 index 00000000000..e98015f518f --- /dev/null +++ b/idea/testData/script/definition/navigation/kotlinLibWithSources/lib/test/custom.kt @@ -0,0 +1,7 @@ +package test + +object KObject { + fun foo() { + + } +} \ No newline at end of file diff --git a/idea/testData/script/definition/navigation/kotlinLibWithSources/script.kts b/idea/testData/script/definition/navigation/kotlinLibWithSources/script.kts new file mode 100644 index 00000000000..4bb59364d3d --- /dev/null +++ b/idea/testData/script/definition/navigation/kotlinLibWithSources/script.kts @@ -0,0 +1,3 @@ +test.KObject.foo() +// REF: (in test.KObject).foo() +// FILE: test/custom.kt \ No newline at end of file diff --git a/idea/testData/script/definition/navigation/kotlinLibWithSources/template/template.kt b/idea/testData/script/definition/navigation/kotlinLibWithSources/template/template.kt new file mode 100644 index 00000000000..16fb5b01cc3 --- /dev/null +++ b/idea/testData/script/definition/navigation/kotlinLibWithSources/template/template.kt @@ -0,0 +1,24 @@ +package custom.scriptDefinition + +import org.jetbrains.kotlin.script.* +import java.io.File +import java.util.concurrent.CompletableFuture +import java.util.concurrent.Future + +class TestDependenciesResolver : ScriptDependenciesResolver { + override fun resolve( + script: ScriptContents, + environment: Map?, + report: (ScriptDependenciesResolver.ReportSeverity, String, ScriptContents.Position?) -> Unit, previousDependencies: KotlinScriptExternalDependencies? + ): Future { + return CompletableFuture.completedFuture( + object : KotlinScriptExternalDependencies { + override val classpath: Iterable = listOf(environment?.get("lib-classes") as File) + override val sources: Iterable = listOf(environment?.get("lib-source") as File) + }) + + } +} + +@ScriptTemplateDefinition(TestDependenciesResolver::class, scriptFilePattern = "script.kts") +class Template diff --git a/idea/tests/org/jetbrains/kotlin/idea/script/ScriptConfigurationNavigationTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/script/ScriptConfigurationNavigationTestGenerated.java index 9068ab50ea9..c1beaf21b2e 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/script/ScriptConfigurationNavigationTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/script/ScriptConfigurationNavigationTestGenerated.java @@ -54,6 +54,18 @@ public class ScriptConfigurationNavigationTestGenerated extends AbstractScriptCo doTest(fileName); } + @TestMetadata("kotlinLib") + public void testKotlinLib() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/script/definition/navigation/kotlinLib/"); + doTest(fileName); + } + + @TestMetadata("kotlinLibWithSources") + public void testKotlinLibWithSources() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/script/definition/navigation/kotlinLibWithSources/"); + doTest(fileName); + } + @TestMetadata("stdlib") public void testStdlib() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/script/definition/navigation/stdlib/");