[Test gen] Reduce string copying
This commit is contained in:
committed by
Space Team
parent
7ca6624af4
commit
cba65d7186
+40
-13
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.generators.model.SimpleTestClassModel
|
|||||||
import org.jetbrains.kotlin.test.TargetBackend
|
import org.jetbrains.kotlin.test.TargetBackend
|
||||||
import org.jetbrains.kotlin.test.util.KtTestUtil
|
import org.jetbrains.kotlin.test.util.KtTestUtil
|
||||||
import org.jetbrains.kotlin.utils.Printer
|
import org.jetbrains.kotlin.utils.Printer
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.runIf
|
import java.util.regex.Pattern
|
||||||
|
|
||||||
object SimpleTestClassModelTestAllFilesPresentMethodGenerator : MethodGenerator<SimpleTestClassModel.TestAllFilesPresentMethodModel>() {
|
object SimpleTestClassModelTestAllFilesPresentMethodGenerator : MethodGenerator<SimpleTestClassModel.TestAllFilesPresentMethodModel>() {
|
||||||
override val kind: MethodModel.Kind
|
override val kind: MethodModel.Kind
|
||||||
@@ -30,27 +30,54 @@ object SimpleTestClassModelTestAllFilesPresentMethodGenerator : MethodGenerator<
|
|||||||
exclude.append(StringUtil.escapeStringCharacters(dir))
|
exclude.append(StringUtil.escapeStringCharacters(dir))
|
||||||
exclude.append("\"")
|
exclude.append("\"")
|
||||||
}
|
}
|
||||||
val excludedArgument = runIf(classModel.excludePattern != null) {
|
val excludePattern = classModel.excludePattern
|
||||||
String.format("Pattern.compile(\"%s\")", StringUtil.escapeStringCharacters(classModel.excludePattern!!.pattern()))
|
if (classModel.targetBackend === TargetBackend.ANY) {
|
||||||
}
|
p.print(
|
||||||
val assertTestsPresentStr = if (classModel.targetBackend === TargetBackend.ANY) {
|
"KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File(\"",
|
||||||
String.format(
|
|
||||||
"KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File(\"%s\"), Pattern.compile(\"%s\"), %s, %s%s);",
|
|
||||||
KtTestUtil.getFilePath(classModel.rootFile),
|
KtTestUtil.getFilePath(classModel.rootFile),
|
||||||
|
"\"), Pattern.compile(\"",
|
||||||
StringUtil.escapeStringCharacters(classModel.filenamePattern.pattern()),
|
StringUtil.escapeStringCharacters(classModel.filenamePattern.pattern()),
|
||||||
excludedArgument,
|
"\"), ",
|
||||||
|
)
|
||||||
|
p.printExcludePattern(excludePattern)
|
||||||
|
p.printlnWithNoIndent(
|
||||||
|
", ",
|
||||||
classModel.recursive,
|
classModel.recursive,
|
||||||
exclude
|
exclude,
|
||||||
|
");"
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
String.format(
|
p.print(
|
||||||
"KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File(\"%s\"), Pattern.compile(\"%s\"), %s, %s.%s, %s%s);",
|
"KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File(\"",
|
||||||
KtTestUtil.getFilePath(classModel.rootFile),
|
KtTestUtil.getFilePath(classModel.rootFile),
|
||||||
|
"\"), Pattern.compile(\"",
|
||||||
StringUtil.escapeStringCharacters(classModel.filenamePattern.pattern()),
|
StringUtil.escapeStringCharacters(classModel.filenamePattern.pattern()),
|
||||||
excludedArgument, TargetBackend::class.java.simpleName, classModel.targetBackend.toString(), classModel.recursive, exclude
|
"\"), ",
|
||||||
|
)
|
||||||
|
p.printExcludePattern(excludePattern)
|
||||||
|
p.printlnWithNoIndent(
|
||||||
|
", ",
|
||||||
|
TargetBackend::class.java.simpleName,
|
||||||
|
".",
|
||||||
|
classModel.targetBackend.toString(),
|
||||||
|
", ",
|
||||||
|
classModel.recursive,
|
||||||
|
exclude,
|
||||||
|
");"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
p.println(assertTestsPresentStr)
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun Printer.printExcludePattern(excludePattern: Pattern?) {
|
||||||
|
if (excludePattern != null) {
|
||||||
|
printWithNoIndent(
|
||||||
|
"Pattern.compile(\"",
|
||||||
|
StringUtil.escapeStringCharacters(excludePattern.pattern()),
|
||||||
|
"\")"
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
printWithNoIndent("null")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user