Formatter tests: Separate test model for tests with inverted settings
This commit is contained in:
@@ -83,6 +83,7 @@ import org.jetbrains.jet.j2k.test.AbstractJavaToKotlinConverterBasicTest
|
||||
import org.jetbrains.jet.plugin.conversion.copy.AbstractJavaToKotlinCopyPasteConversionTest
|
||||
import org.jetbrains.jet.shortenRefs.AbstractShortenRefsTest
|
||||
import org.jetbrains.jet.completion.handlers.AbstractSmartCompletionHandlerTest
|
||||
import org.jetbrains.jet.generators.tests.generator.TestGeneratorUtil
|
||||
import org.jetbrains.jet.resolve.AbstractAdditionalLazyResolveDescriptorRendererTest
|
||||
import org.jetbrains.jet.resolve.AbstractReferenceResolveInLibrarySourcesTest
|
||||
|
||||
@@ -414,7 +415,9 @@ fun main(args: Array<String>) {
|
||||
}
|
||||
|
||||
testClass(javaClass<AbstractJetFormatterTest>()) {
|
||||
model("formatter", pattern = """^([^\.]+)\.kt$""")
|
||||
model("formatter", pattern = """^([^\.]+)\.after.kt$""")
|
||||
model("formatter", pattern = """^([^\.]+)\.after.inv.kt$""",
|
||||
testMethod = "doTestInverted", testClassName = "FormatterInverted")
|
||||
}
|
||||
|
||||
testClass(javaClass<AbstractDiagnosticMessageTest>()) {
|
||||
@@ -482,14 +485,16 @@ private class TestGroup(val testsRoot: String, val testDataRoot: String) {
|
||||
extension: String? = "kt", // null string means dir (name without dot)
|
||||
pattern: String = if (extension == null) """^([^\.]+)$""" else "^(.+)\\.$extension\$",
|
||||
testMethod: String = "doTest",
|
||||
singleClass: Boolean = false
|
||||
singleClass: Boolean = false,
|
||||
testClassName: String? = null
|
||||
) {
|
||||
val rootFile = File(testDataRoot + "/" + relativeRootPath)
|
||||
val compiledPattern = Pattern.compile(pattern)
|
||||
val className = testClassName ?: TestGeneratorUtil.fileNameToJavaIdentifier(rootFile)
|
||||
testModels.add(if (singleClass)
|
||||
SingleClassTestModel(rootFile, compiledPattern, testMethod)
|
||||
SingleClassTestModel(rootFile, compiledPattern, testMethod, className)
|
||||
else
|
||||
SimpleTestClassModel(rootFile, recursive, compiledPattern, testMethod))
|
||||
SimpleTestClassModel(rootFile, recursive, compiledPattern, testMethod, className))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+10
-3
@@ -47,12 +47,18 @@ public class SimpleTestClassModel implements TestClassModel {
|
||||
private Collection<TestClassModel> innerTestClasses;
|
||||
private Collection<TestMethodModel> testMethods;
|
||||
|
||||
public SimpleTestClassModel(@NotNull File rootFile, boolean recursive, @NotNull Pattern filenamePattern, @NotNull String doTestMethodName) {
|
||||
public SimpleTestClassModel(
|
||||
@NotNull File rootFile,
|
||||
boolean recursive,
|
||||
@NotNull Pattern filenamePattern,
|
||||
@NotNull String doTestMethodName,
|
||||
@NotNull String testClassName
|
||||
) {
|
||||
this.rootFile = rootFile;
|
||||
this.recursive = recursive;
|
||||
this.filenamePattern = filenamePattern;
|
||||
this.doTestMethodName = doTestMethodName;
|
||||
this.testClassName = StringUtil.capitalize(TestGeneratorUtil.escapeForJavaIdentifier(rootFile.getName()));
|
||||
this.testClassName = testClassName;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -69,7 +75,8 @@ public class SimpleTestClassModel implements TestClassModel {
|
||||
for (File file : files) {
|
||||
if (file.isDirectory()) {
|
||||
if (dirHasFilesInside(file)) {
|
||||
children.add(new SimpleTestClassModel(file, true, filenamePattern, doTestMethodName));
|
||||
String innerTestClassName = TestGeneratorUtil.fileNameToJavaIdentifier(file);
|
||||
children.add(new SimpleTestClassModel(file, true, filenamePattern, doTestMethodName, innerTestClassName));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+7
-2
@@ -40,11 +40,16 @@ public class SingleClassTestModel implements TestClassModel {
|
||||
|
||||
private Collection<TestMethodModel> testMethods;
|
||||
|
||||
public SingleClassTestModel(@NotNull File rootFile, @NotNull Pattern filenamePattern, @NotNull String doTestMethodName) {
|
||||
public SingleClassTestModel(
|
||||
@NotNull File rootFile,
|
||||
@NotNull Pattern filenamePattern,
|
||||
@NotNull String doTestMethodName,
|
||||
@NotNull String testClassName
|
||||
) {
|
||||
this.rootFile = rootFile;
|
||||
this.filenamePattern = filenamePattern;
|
||||
this.doTestMethodName = doTestMethodName;
|
||||
this.testClassName = StringUtil.capitalize(TestGeneratorUtil.escapeForJavaIdentifier(rootFile.getName()));
|
||||
this.testClassName = testClassName;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -16,7 +16,13 @@
|
||||
|
||||
package org.jetbrains.jet.generators.tests.generator;
|
||||
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class TestGeneratorUtil {
|
||||
@NotNull
|
||||
public static String escapeForJavaIdentifier(String fileName) {
|
||||
// A file name may contain characters (like ".") that can't be a part of method name
|
||||
StringBuilder result = new StringBuilder();
|
||||
@@ -32,4 +38,9 @@ public class TestGeneratorUtil {
|
||||
}
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static String fileNameToJavaIdentifier(@NotNull File file) {
|
||||
return StringUtil.capitalize(escapeForJavaIdentifier(file.getName()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user