diff --git a/compiler/tests/org/jetbrains/jet/InTextDirectivesUtils.java b/compiler/tests/org/jetbrains/jet/InTextDirectivesUtils.java index 714bb8004ef..7c4bdc71566 100644 --- a/compiler/tests/org/jetbrains/jet/InTextDirectivesUtils.java +++ b/compiler/tests/org/jetbrains/jet/InTextDirectivesUtils.java @@ -74,8 +74,12 @@ public final class InTextDirectivesUtils { if (strings.isEmpty()) { return null; } - assert strings.size() == 1 : "There is more than one string with given prefixes " + - Arrays.toString(prefixes) + ". Use findListWithPrefixes() instead."; + + if (strings.size() != 1) { + throw new IllegalStateException("There is more than one string with given prefixes " + + Arrays.toString(prefixes) + ". Use findListWithPrefixes() instead."); + } + return strings.get(0); } diff --git a/idea/testData/resolve/ResolveClass.kt b/idea/testData/resolve/ResolveClass.kt index 27800151b2b..18d492221d3 100644 --- a/idea/testData/resolve/ResolveClass.kt +++ b/idea/testData/resolve/ResolveClass.kt @@ -1,3 +1,5 @@ open class Test -class SomeTest : Test() \ No newline at end of file +class SomeTest : Test() + +// REF: ().Test \ No newline at end of file diff --git a/idea/testData/resolve/ResolvePackageInProperty.kt b/idea/testData/resolve/ResolvePackageInProperty.kt index 79c50321147..d908e10591a 100644 --- a/idea/testData/resolve/ResolvePackageInProperty.kt +++ b/idea/testData/resolve/ResolvePackageInProperty.kt @@ -2,4 +2,6 @@ package test1.test2 class Some() -val test : test1.test2.Some = Some() \ No newline at end of file +val test : test1.test2.Some = Some() + +// REF: test1 \ No newline at end of file diff --git a/idea/testData/resolve/SamAdapter.kt b/idea/testData/resolve/SamAdapter.kt index 06b533b7ee3..f6f9bbbf1c6 100644 --- a/idea/testData/resolve/SamAdapter.kt +++ b/idea/testData/resolve/SamAdapter.kt @@ -1 +1,3 @@ -val c = javax.swing.SwingUtilities.invokeLater { } \ No newline at end of file +val c = javax.swing.SwingUtilities.invokeLater { } + +// REF: (in javax.swing.SwingUtilities).invokeLater(Runnable) \ No newline at end of file diff --git a/idea/testData/resolve/SamConstructor.kt b/idea/testData/resolve/SamConstructor.kt index f3690a75b1d..a2416fa0833 100644 --- a/idea/testData/resolve/SamConstructor.kt +++ b/idea/testData/resolve/SamConstructor.kt @@ -1 +1,3 @@ -val c = java.util.Comparator {(x: Int, y: Int) -> 1} \ No newline at end of file +val c = java.util.Comparator {(x: Int, y: Int) -> 1} + +// REF: (java.util).Comparator \ No newline at end of file diff --git a/idea/testData/resolve/SamConstructorTypeArguments.kt b/idea/testData/resolve/SamConstructorTypeArguments.kt index 8673a5cda36..18d850088b2 100644 --- a/idea/testData/resolve/SamConstructorTypeArguments.kt +++ b/idea/testData/resolve/SamConstructorTypeArguments.kt @@ -1 +1,3 @@ -val c = java.util.Comparator { x, y -> 1 } \ No newline at end of file +val c = java.util.Comparator { x, y -> 1 } + +// REF: (java.util).Comparator \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/resolve/ResolveBaseTest.java b/idea/tests/org/jetbrains/jet/resolve/ResolveBaseTest.java index 675b3beaf86..94fe51bda58 100644 --- a/idea/tests/org/jetbrains/jet/resolve/ResolveBaseTest.java +++ b/idea/tests/org/jetbrains/jet/resolve/ResolveBaseTest.java @@ -25,7 +25,8 @@ import com.intellij.psi.PsiReference; import com.intellij.psi.ResolveResult; import com.intellij.testFramework.LightCodeInsightTestCase; import junit.framework.Assert; -import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.InTextDirectivesUtils; import org.jetbrains.jet.plugin.PluginTestCaseBase; import org.jetbrains.jet.testing.ReferenceUtils; @@ -43,41 +44,44 @@ public class ResolveBaseTest extends LightCodeInsightTestCase { } public void testResolveClass() throws Exception { - doSingleResolveTest("().Test"); + doSingleResolveTest(); } public void testResolvePackageInProperty() throws Exception { - doSingleResolveTest("test1"); + doSingleResolveTest(); } public void testSamConstructor() throws Exception { - doSingleResolveTest("(java.util).Comparator"); + doSingleResolveTest(); } public void testSamConstructorTypeArguments() throws Exception { - doSingleResolveTest("(java.util).Comparator"); + doSingleResolveTest(); } public void testSamAdapter() throws Exception { - doSingleResolveTest("(in javax.swing.SwingUtilities).invokeLater(Runnable)"); + doSingleResolveTest(); } public void testSeveralOverrides() throws Exception { doMultiResolveTest(); } - protected void doSingleResolveTest(@Nullable String referenceToString) throws Exception { + protected void doSingleResolveTest() throws Exception { String testName = getTestName(false); configureByFile(testName + ".kt"); + String referenceToString = InTextDirectivesUtils.findStringWithPrefixes(getFile().getText(), "REF:"); + Assert.assertNotNull("Test data wasn't found, use \"// REF: \" directive", referenceToString); + int offset = getEditor().getCaretModel().getOffset(); PsiReference psiReference = getFile().findReferenceAt(offset); if (psiReference != null) { PsiElement resolvedTo = psiReference.resolve(); if (resolvedTo != null) { String resolvedToElementStr = ReferenceUtils.renderAsGotoImplementation(resolvedTo); - String notEqualMessage = String.format("Found reference to '%s', but '%s' was expected", resolvedToElementStr, - referenceToString != null ? referenceToString : ""); + String notEqualMessage = String.format("Found reference to '%s', but '%s' was expected", + resolvedToElementStr, referenceToString); assertEquals(notEqualMessage, referenceToString, resolvedToElementStr); } else { @@ -116,6 +120,7 @@ public class ResolveBaseTest extends LightCodeInsightTestCase { return PluginTestCaseBase.jdkFromIdeaHome(); } + @NotNull @Override protected String getTestDataPath() { return new File(PluginTestCaseBase.getTestDataPathBase(), "/resolve/").getPath() + File.separator;