Restore some of the tests for deprecated OBJECT$ field

This commit is contained in:
Pavel V. Talanov
2015-02-11 19:37:50 +03:00
parent 2d59791cf2
commit ed5e2a21d1
12 changed files with 97 additions and 0 deletions
@@ -0,0 +1,8 @@
public class Testing {
public static void test() {
mockLib.foo.LibClass.<caret>
}
}
// EXIST: Default
// EXIST: OBJECT$
@@ -0,0 +1,7 @@
public class ClassObjectField {
public static void foo() {
k.ClassWithClassObject.OB<caret>JECT$.f();
}
}
// REF: class object of (k).ClassWithClassObject
@@ -55,6 +55,12 @@ public class CompiledKotlinInJavaCompletionTestGenerated extends AbstractCompile
doTest(fileName);
}
@TestMetadata("ClassObjectField.java")
public void testClassObjectField() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassObjectField.java");
doTest(fileName);
}
@TestMetadata("ClassesFromNamespace.java")
public void testClassesFromNamespace() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassesFromNamespace.java");
@@ -55,6 +55,12 @@ public class KotlinSourceInJavaCompletionTestGenerated extends AbstractKotlinSou
doTest(fileName);
}
@TestMetadata("ClassObjectField.java")
public void testClassObjectField() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassObjectField.java");
doTest(fileName);
}
@TestMetadata("ClassesFromNamespace.java")
public void testClassesFromNamespace() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/completion/injava/ClassesFromNamespace.java");
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.asJava.LightClassUtil;
import org.jetbrains.kotlin.idea.JetLightCodeInsightFixtureTestCase;
import org.jetbrains.kotlin.idea.JetLightProjectDescriptor;
import org.jetbrains.kotlin.idea.PluginTestCaseBase;
import org.jetbrains.kotlin.load.java.JvmAbi;
import org.jetbrains.kotlin.name.SpecialNames;
import org.jetbrains.kotlin.psi.*;
@@ -199,6 +200,14 @@ public class JetJavaFacadeTest extends JetLightCodeInsightFixtureTestCase {
assertTrue(instance.hasModifierProperty(PsiModifier.STATIC));
assertTrue(instance.hasModifierProperty(PsiModifier.FINAL));
PsiField deprecatedAccessor = theClass.findFieldByName(JvmAbi.DEPRECATED_CLASS_OBJECT_FIELD, false);
assertNotNull(deprecatedAccessor);
assertEquals("foo.TheClass." + defaultClassObjectName, deprecatedAccessor.getType().getCanonicalText());
assertTrue(deprecatedAccessor.hasModifierProperty(PsiModifier.PUBLIC));
assertTrue(deprecatedAccessor.hasModifierProperty(PsiModifier.STATIC));
assertTrue(deprecatedAccessor.hasModifierProperty(PsiModifier.FINAL));
assertTrue(deprecatedAccessor.isDeprecated());
PsiMethod[] methods = classObjectClass.findMethodsByName("getOut", false);
assertEquals("java.io.PrintStream", methods[0].getReturnType().getCanonicalText());
@@ -60,6 +60,12 @@ public class ReferenceResolveInJavaTestGenerated extends AbstractReferenceResolv
doTest(fileName);
}
@TestMetadata("DeprecatedClassObjectField.java")
public void testDeprecatedClassObjectField() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/DeprecatedClassObjectField.java");
doTest(fileName);
}
@TestMetadata("EnumEntry.java")
public void testEnumEntry() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/resolve/referenceInJava/EnumEntry.java");