From ce481b08d8cc317aeb2b62939109bca48a284df7 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 1 Nov 2013 20:26:47 +0400 Subject: [PATCH] Fix CompileKotlinAgainstCustomBinariesTest The two cases are almost irrelevant now that objects aren't resolved to properties anymore --- .../brokenJarWithNoClassForObject.kt | 1 + .../library/source.kt | 0 .../brokenJarWithNoClassForObjectProperty.kt | 1 - ...ompileKotlinAgainstCustomBinariesTest.java | 20 +++++++------------ 4 files changed, 8 insertions(+), 14 deletions(-) create mode 100644 compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObject/brokenJarWithNoClassForObject.kt rename compiler/testData/compileKotlinAgainstCustomBinaries/{brokenJarWithNoClassForObjectProperty => brokenJarWithNoClassForObject}/library/source.kt (100%) delete mode 100644 compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/brokenJarWithNoClassForObjectProperty.kt diff --git a/compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObject/brokenJarWithNoClassForObject.kt b/compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObject/brokenJarWithNoClassForObject.kt new file mode 100644 index 00000000000..56e54040790 --- /dev/null +++ b/compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObject/brokenJarWithNoClassForObject.kt @@ -0,0 +1 @@ +package test diff --git a/compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/library/source.kt b/compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObject/library/source.kt similarity index 100% rename from compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/library/source.kt rename to compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObject/library/source.kt diff --git a/compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/brokenJarWithNoClassForObjectProperty.kt b/compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/brokenJarWithNoClassForObjectProperty.kt deleted file mode 100644 index 761254b6c6f..00000000000 --- a/compiler/testData/compileKotlinAgainstCustomBinaries/brokenJarWithNoClassForObjectProperty/brokenJarWithNoClassForObjectProperty.kt +++ /dev/null @@ -1 +0,0 @@ -package test \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java index 30e2b153016..27f2a73a0d1 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java @@ -25,13 +25,12 @@ import org.jetbrains.jet.MockLibraryUtil; import org.jetbrains.jet.TestJdkKind; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.config.CompilerConfiguration; +import org.jetbrains.jet.lang.descriptors.ClassDescriptor; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; -import org.jetbrains.jet.lang.descriptors.VariableDescriptorForObject; import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; -import org.jetbrains.jet.lang.types.ErrorUtils; import org.jetbrains.jet.test.TestCaseWithTmpdir; import org.jetbrains.jet.test.util.DescriptorValidator; import org.jetbrains.jet.test.util.NamespaceComparator; @@ -46,6 +45,7 @@ import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.zip.ZipOutputStream; +import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isObject; import static org.jetbrains.jet.test.util.NamespaceComparator.validateAndCompareNamespaceWithFile; public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir { @@ -140,22 +140,16 @@ public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir { Collection allDescriptors = analyzeAndGetAllDescriptors(compileLibrary("library")); assertEquals(allDescriptors.size(), 2); for (DeclarationDescriptor descriptor : allDescriptors) { - assertTrue(descriptor.getName().asString().equals("Lol")); - assertTrue(descriptor instanceof VariableDescriptorForObject); - assertFalse("Object property should have valid class", - ErrorUtils.isError(((VariableDescriptorForObject) descriptor).getObjectClass())); + assertTrue("Wrong name: " + descriptor, descriptor.getName().asString().equals("Lol")); + assertTrue("Should be an object: " + descriptor, isObject(descriptor)); + assertNotNull("Object should have a class object: " + descriptor, ((ClassDescriptor) descriptor).getClassObjectDescriptor()); } } - public void testBrokenJarWithNoClassForObjectProperty() throws Exception { + public void testBrokenJarWithNoClassForObject() throws Exception { File brokenJar = copyJarFileWithoutEntry(compileLibrary("library"), "test/Lol.class"); Collection allDescriptors = analyzeAndGetAllDescriptors(brokenJar); - assertEquals(allDescriptors.size(), 1); - DeclarationDescriptor descriptor = allDescriptors.iterator().next(); - assertTrue(descriptor.getName().asString().equals("Lol")); - assertTrue(descriptor instanceof VariableDescriptorForObject); - assertTrue("Object property should have an error class", - ErrorUtils.isError(((VariableDescriptorForObject) descriptor).getObjectClass())); + assertEmpty("No descriptors should be found: " + allDescriptors, allDescriptors); } public void testDuplicateLibraries() throws Exception {