Moved javaAgainstKotlin cases to generated test.
This commit is contained in:
@@ -46,6 +46,7 @@ import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
|||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileFilter;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -104,12 +105,20 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
|||||||
checkJavaNamespace(expectedFile, javaNamespaceAndContext.first, javaNamespaceAndContext.second);
|
checkJavaNamespace(expectedFile, javaNamespaceAndContext.first, javaNamespaceAndContext.second);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void doTestJavaAgainstKotlin(String path) throws Exception {
|
protected void doTestJavaAgainstKotlin(String expectedFileName) throws Exception {
|
||||||
File dir = new File(path);
|
File expectedFile = new File(expectedFileName);
|
||||||
|
File sourcesDir = new File(expectedFileName.replaceFirst("\\.txt$", ""));
|
||||||
|
|
||||||
|
FileUtil.copyDir(sourcesDir, new File(tmpdir, "test"), new FileFilter() {
|
||||||
|
@Override
|
||||||
|
public boolean accept(@NotNull File pathname) {
|
||||||
|
return pathname.getName().endsWith(".java");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
CompilerConfiguration configuration = JetTestUtils.compilerConfigurationForTests(
|
CompilerConfiguration configuration = JetTestUtils.compilerConfigurationForTests(
|
||||||
ConfigurationKind.JDK_ONLY, TestJdkKind.MOCK_JDK, new File(dir, "java"));
|
ConfigurationKind.JDK_ONLY, TestJdkKind.MOCK_JDK, tmpdir);
|
||||||
configuration.put(CommonConfigurationKeys.SOURCE_ROOTS_KEY, Arrays.asList(new File(dir, "kotlin").getAbsolutePath()));
|
configuration.put(CommonConfigurationKeys.SOURCE_ROOTS_KEY, Arrays.asList(sourcesDir.getAbsolutePath()));
|
||||||
JetCoreEnvironment environment = new JetCoreEnvironment(getTestRootDisposable(), configuration);
|
JetCoreEnvironment environment = new JetCoreEnvironment(getTestRootDisposable(), configuration);
|
||||||
|
|
||||||
ModuleDescriptor moduleDescriptor = new ModuleDescriptor(Name.special("<test module>"));
|
ModuleDescriptor moduleDescriptor = new ModuleDescriptor(Name.special("<test module>"));
|
||||||
@@ -135,7 +144,7 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
|||||||
LoadDescriptorUtil.TEST_PACKAGE_FQNAME, DescriptorSearchRule.INCLUDE_KOTLIN);
|
LoadDescriptorUtil.TEST_PACKAGE_FQNAME, DescriptorSearchRule.INCLUDE_KOTLIN);
|
||||||
assert namespaceDescriptor != null : "Test namespace not found";
|
assert namespaceDescriptor != null : "Test namespace not found";
|
||||||
|
|
||||||
checkJavaNamespace(new File(dir, "expected.txt"), namespaceDescriptor, trace.getBindingContext());
|
checkJavaNamespace(expectedFile, namespaceDescriptor, trace.getBindingContext());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void checkForLoadErrorsAndCompare(
|
private static void checkForLoadErrorsAndCompare(
|
||||||
|
|||||||
@@ -34,22 +34,4 @@ public final class LoadJavaCustomTest extends AbstractLoadJavaTest {
|
|||||||
javaDir + "/test/JFrame.java",
|
javaDir + "/test/JFrame.java",
|
||||||
javaDir + "/awt/Frame.java");
|
javaDir + "/awt/Frame.java");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class SubclassingKotlinInJavaTest extends AbstractLoadJavaTest {
|
|
||||||
public void testSubclassingKotlinInJava() throws Exception {
|
|
||||||
doTestJavaAgainstKotlin(PATH + "/" + getTestName(true));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testDeepSubclassingKotlinInJava() throws Exception {
|
|
||||||
doTestJavaAgainstKotlin(PATH + "/" + getTestName(true));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testPackageInheritance() throws Exception {
|
|
||||||
doTestJavaAgainstKotlin(PATH + "/packageLocalVisibility/inheritance");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testProtectedPackageInheritance() throws Exception {
|
|
||||||
doTestJavaAgainstKotlin(PATH + "/protectedPackageVisibility/inheritance");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import org.jetbrains.jet.jvm.compiler.AbstractLoadJavaTest;
|
|||||||
|
|
||||||
/** This class is generated by {@link org.jetbrains.jet.generators.tests.GenerateTests}. DO NOT MODIFY MANUALLY */
|
/** This class is generated by {@link org.jetbrains.jet.generators.tests.GenerateTests}. DO NOT MODIFY MANUALLY */
|
||||||
@SuppressWarnings("all")
|
@SuppressWarnings("all")
|
||||||
@InnerTestClasses({LoadJavaTestGenerated.CompiledJavaCompareWithKotlin.class, LoadJavaTestGenerated.CompiledJava.class, LoadJavaTestGenerated.SourceJava.class})
|
@InnerTestClasses({LoadJavaTestGenerated.CompiledJavaCompareWithKotlin.class, LoadJavaTestGenerated.CompiledJava.class, LoadJavaTestGenerated.SourceJava.class, LoadJavaTestGenerated.JavaAgainstKotlin.class})
|
||||||
public class LoadJavaTestGenerated extends AbstractLoadJavaTest {
|
public class LoadJavaTestGenerated extends AbstractLoadJavaTest {
|
||||||
@TestMetadata("compiler/testData/loadJava/compiledJavaCompareWithKotlin")
|
@TestMetadata("compiler/testData/loadJava/compiledJavaCompareWithKotlin")
|
||||||
@InnerTestClasses({CompiledJavaCompareWithKotlin.Annotation.class, CompiledJavaCompareWithKotlin.Constructor.class, CompiledJavaCompareWithKotlin.JavaBean.class, CompiledJavaCompareWithKotlin.KotlinSignature.class, CompiledJavaCompareWithKotlin.Library.class, CompiledJavaCompareWithKotlin.Modality.class, CompiledJavaCompareWithKotlin.NotNull.class, CompiledJavaCompareWithKotlin.Vararg.class})
|
@InnerTestClasses({CompiledJavaCompareWithKotlin.Annotation.class, CompiledJavaCompareWithKotlin.Constructor.class, CompiledJavaCompareWithKotlin.JavaBean.class, CompiledJavaCompareWithKotlin.KotlinSignature.class, CompiledJavaCompareWithKotlin.Library.class, CompiledJavaCompareWithKotlin.Modality.class, CompiledJavaCompareWithKotlin.NotNull.class, CompiledJavaCompareWithKotlin.Vararg.class})
|
||||||
@@ -1118,11 +1118,76 @@ public class LoadJavaTestGenerated extends AbstractLoadJavaTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/loadJava/javaAgainstKotlin")
|
||||||
|
@InnerTestClasses({JavaAgainstKotlin.SignaturePropagation.class, JavaAgainstKotlin.Visibility.class})
|
||||||
|
public static class JavaAgainstKotlin extends AbstractLoadJavaTest {
|
||||||
|
public void testAllFilesPresentInJavaAgainstKotlin() throws Exception {
|
||||||
|
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/loadJava/javaAgainstKotlin"), Pattern.compile("^(.+)\\.txt$"), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/loadJava/javaAgainstKotlin/signaturePropagation")
|
||||||
|
@InnerTestClasses({})
|
||||||
|
public static class SignaturePropagation extends AbstractLoadJavaTest {
|
||||||
|
public void testAllFilesPresentInSignaturePropagation() throws Exception {
|
||||||
|
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/loadJava/javaAgainstKotlin/signaturePropagation"), Pattern.compile("^(.+)\\.txt$"), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("DeepSubclassingKotlinInJava.txt")
|
||||||
|
public void testDeepSubclassingKotlinInJava() throws Exception {
|
||||||
|
doTestJavaAgainstKotlin("compiler/testData/loadJava/javaAgainstKotlin/signaturePropagation/DeepSubclassingKotlinInJava.txt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("SubclassingKotlinInJava.txt")
|
||||||
|
public void testSubclassingKotlinInJava() throws Exception {
|
||||||
|
doTestJavaAgainstKotlin("compiler/testData/loadJava/javaAgainstKotlin/signaturePropagation/SubclassingKotlinInJava.txt");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Test innerSuite() {
|
||||||
|
TestSuite suite = new TestSuite("SignaturePropagation");
|
||||||
|
suite.addTestSuite(SignaturePropagation.class);
|
||||||
|
return suite;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/loadJava/javaAgainstKotlin/visibility")
|
||||||
|
@InnerTestClasses({})
|
||||||
|
public static class Visibility extends AbstractLoadJavaTest {
|
||||||
|
public void testAllFilesPresentInVisibility() throws Exception {
|
||||||
|
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/loadJava/javaAgainstKotlin/visibility"), Pattern.compile("^(.+)\\.txt$"), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("PackageLocal.txt")
|
||||||
|
public void testPackageLocal() throws Exception {
|
||||||
|
doTestJavaAgainstKotlin("compiler/testData/loadJava/javaAgainstKotlin/visibility/PackageLocal.txt");
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ProtectedPackage.txt")
|
||||||
|
public void testProtectedPackage() throws Exception {
|
||||||
|
doTestJavaAgainstKotlin("compiler/testData/loadJava/javaAgainstKotlin/visibility/ProtectedPackage.txt");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Test innerSuite() {
|
||||||
|
TestSuite suite = new TestSuite("Visibility");
|
||||||
|
suite.addTestSuite(Visibility.class);
|
||||||
|
return suite;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Test innerSuite() {
|
||||||
|
TestSuite suite = new TestSuite("JavaAgainstKotlin");
|
||||||
|
suite.addTestSuite(JavaAgainstKotlin.class);
|
||||||
|
suite.addTest(SignaturePropagation.innerSuite());
|
||||||
|
suite.addTest(Visibility.innerSuite());
|
||||||
|
return suite;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static Test suite() {
|
public static Test suite() {
|
||||||
TestSuite suite = new TestSuite("LoadJavaTestGenerated");
|
TestSuite suite = new TestSuite("LoadJavaTestGenerated");
|
||||||
suite.addTest(CompiledJavaCompareWithKotlin.innerSuite());
|
suite.addTest(CompiledJavaCompareWithKotlin.innerSuite());
|
||||||
suite.addTest(CompiledJava.innerSuite());
|
suite.addTest(CompiledJava.innerSuite());
|
||||||
suite.addTestSuite(SourceJava.class);
|
suite.addTestSuite(SourceJava.class);
|
||||||
|
suite.addTest(JavaAgainstKotlin.innerSuite());
|
||||||
return suite;
|
return suite;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -149,7 +149,8 @@ public class GenerateTests {
|
|||||||
AbstractLoadJavaTest.class,
|
AbstractLoadJavaTest.class,
|
||||||
testModel("compiler/testData/loadJava/compiledJavaCompareWithKotlin", true, "java", "doTest"),
|
testModel("compiler/testData/loadJava/compiledJavaCompareWithKotlin", true, "java", "doTest"),
|
||||||
testModel("compiler/testData/loadJava/compiledJava", true, "java", "doTestCompiledJava"),
|
testModel("compiler/testData/loadJava/compiledJava", true, "java", "doTestCompiledJava"),
|
||||||
testModel("compiler/testData/loadJava/sourceJava", true, "java", "doTestSourceJava")
|
testModel("compiler/testData/loadJava/sourceJava", true, "java", "doTestSourceJava"),
|
||||||
|
testModel("compiler/testData/loadJava/javaAgainstKotlin", true, "txt", "doTestJavaAgainstKotlin")
|
||||||
);
|
);
|
||||||
|
|
||||||
generateTest(
|
generateTest(
|
||||||
|
|||||||
Reference in New Issue
Block a user