Add test for not generating file facade light class for empty file

This commit is contained in:
Pavel V. Talanov
2015-10-14 20:12:44 +03:00
parent 123c55b6db
commit d9ed79e781
5 changed files with 24 additions and 1 deletions
@@ -0,0 +1 @@
<not generated>
@@ -0,0 +1,2 @@
//a.b.c.EmptyFileKt
package a.b.c
@@ -70,6 +70,12 @@ public class CompilerLightClassTestGenerated extends AbstractCompilerLightClassT
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/asJava/lightClasses/facades"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("EmptyFile.kt")
public void testEmptyFile() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/asJava/lightClasses/facades/EmptyFile.kt");
doTest(fileName);
}
@TestMetadata("SingleFile.kt")
public void testSingleFile() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/asJava/lightClasses/facades/SingleFile.kt");
@@ -40,6 +40,14 @@ object LightClassTestCommon {
val lightClass = findLightClass(fqName)
val actual = actualText(fqName, lightClass, normalizeText)
JetTestUtils.assertEqualsToFile(JetTestUtils.replaceExtension(testDataFile, "java"), actual)
}
private fun actualText(fqName: String?, lightClass: PsiClass?, normalizeText: (String) -> String): String {
if (lightClass == null) {
return "<not generated>"
}
TestCase.assertTrue("Not a light class: $lightClass ($fqName)", lightClass is KotlinLightClass)
val delegate = (lightClass as KotlinLightClass).getDelegate()
@@ -48,6 +56,6 @@ object LightClassTestCommon {
val buffer = StringBuilder()
(delegate as ClsElementImpl).appendMirrorText(0, buffer)
val actual = normalizeText(buffer.toString())
JetTestUtils.assertEqualsToFile(JetTestUtils.replaceExtension(testDataFile, "java"), actual)
return actual
}
}
@@ -43,6 +43,12 @@ public class IdeLightClassTestGenerated extends AbstractIdeLightClassTest {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/asJava/lightClasses/facades"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("EmptyFile.kt")
public void testEmptyFile() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/asJava/lightClasses/facades/EmptyFile.kt");
doTest(fileName);
}
@TestMetadata("SingleFile.kt")
public void testSingleFile() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/asJava/lightClasses/facades/SingleFile.kt");