Gradle, js, test: add basic @Input for test frameworks settings

This commit is contained in:
Sergey Rostov
2019-05-15 12:18:22 +03:00
parent e435b9352a
commit 156d50646d
6 changed files with 27 additions and 1 deletions
@@ -25,6 +25,9 @@ open class KotlinJsTest : KotlinTest(), RequiresNpmDependencies {
@SkipWhenEmpty
internal var testFramework: KotlinJsTestFramework? = null
val testFrameworkSettings: String
@Input get() = testFramework!!.settingsState
@Input
var debug: Boolean = false
@@ -11,6 +11,8 @@ import org.jetbrains.kotlin.gradle.plugin.HasKotlinDependencies
import org.jetbrains.kotlin.gradle.targets.js.npm.RequiresNpmDependencies
interface KotlinJsTestFramework : RequiresNpmDependencies {
val settingsState: String
fun createTestExecutionSpec(
task: KotlinJsTest,
forkOptions: ProcessForkOptions,
@@ -42,6 +42,9 @@ class KotlinKarma(val project: Project) : KotlinJsTestFramework {
override val requiredNpmDependencies: Collection<RequiredKotlinJsDependency>
get() = requiredDependencies.toList()
override val settingsState: String
get() = "KotlinKarma($config)"
init {
requiredDependencies.add(versions.karma)
@@ -24,6 +24,18 @@ class KarmaConfig {
val type: String,
val subDir: String? = null,
val file: String? = null
)
) {
override fun toString(): String {
return "Reporter(type='$type', subDir=$subDir, file=$file)"
}
}
override fun toString(): String {
return "CoverageReporter(dir='$dir', reporters=$reporters)"
}
}
override fun toString(): String {
return "KarmaConfig(singleRun=$singleRun, autoWatch=$autoWatch, basePath=$basePath, files=$files, frameworks=$frameworks, browsers=$browsers, reporters=$reporters, preprocessors=$preprocessors, coverageReporter=$coverageReporter)"
}
}
@@ -20,6 +20,9 @@ import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTestFramework
class KotlinMocha(val project: Project) : KotlinJsTestFramework {
private val versions = project.nodeJs.versions
override val settingsState: String
get() = "mocha"
override val requiredNpmDependencies: Collection<RequiredKotlinJsDependency>
get() = listOf(
KotlinGradleNpmPackage("test-nodejs-runner"),
@@ -23,6 +23,9 @@ class KotlinNodeJsTestRunner(val project: Project) : KotlinJsTestFramework {
@Input
var ignoredTestSuites: IgnoredTestSuites = IgnoredTestSuites.showWithContents
override val settingsState: String
get() = "KotlinNodeJsTestRunner(ignoredTestSuites=$ignoredTestSuites)"
override val requiredNpmDependencies: Collection<RequiredKotlinJsDependency>
get() = listOf(KotlinGradleNpmPackage("test-nodejs-runner"))