[Gradle, JS] KT-36784 Move test only to IR

#KT-32466 fixed
#KT-36784 fixed
#KT-36864 fixed
This commit is contained in:
Ilya Goncharov
2020-04-01 15:24:57 +03:00
parent c11c3dffe7
commit 43efac69a9
5 changed files with 59 additions and 53 deletions
@@ -74,6 +74,45 @@ class Kotlin2JsIrGradlePluginIT : AbstractKotlin2JsGradlePluginIT(true) {
}
}
}
@Test
fun testJsCompositeBuild() {
val rootProjectName = "js-composite-build"
val appProject = transformProjectWithPluginsDsl(
projectName = "app",
directoryPrefix = rootProjectName,
wrapperVersion = GradleVersionRequired.AtLeast("5.3")
)
val libProject = transformProjectWithPluginsDsl(
projectName = "lib",
directoryPrefix = rootProjectName,
wrapperVersion = GradleVersionRequired.AtLeast("5.3")
)
libProject.gradleProperties().appendText(jsCompilerType(KotlinJsCompilerType.IR))
appProject.gradleProperties().appendText(jsCompilerType(KotlinJsCompilerType.IR))
libProject.projectDir.copyRecursively(appProject.projectDir.resolve(libProject.projectDir.name))
fun Project.asyncVersion(rootModulePath: String, moduleName: String): String =
NpmProjectModules(projectDir.resolve(rootModulePath))
.require(moduleName)
.let { File(it).parentFile.parentFile.resolve(NpmProject.PACKAGE_JSON) }
.let { fromSrcPackageJson(it) }
.let { it!!.version }
with(appProject) {
build("build") {
assertSuccessful()
val appAsyncVersion = asyncVersion("build/js/node_modules/app", "async")
assertEquals("3.2.0", appAsyncVersion)
val libAsyncVersion = asyncVersion("build/js/node_modules/lib2", "async")
assertEquals("2.6.2", libAsyncVersion)
}
}
}
}
class Kotlin2JsGradlePluginIT : AbstractKotlin2JsGradlePluginIT(false) {
@@ -551,47 +590,6 @@ abstract class AbstractKotlin2JsGradlePluginIT(private val irBackend: Boolean) :
}
}
@Test
fun testJsCompositeBuild() {
val rootProjectName = "js-composite-build"
val appProject = transformProjectWithPluginsDsl(
projectName = "app",
directoryPrefix = rootProjectName,
wrapperVersion = GradleVersionRequired.AtLeast("5.3")
)
val libProject = transformProjectWithPluginsDsl(
projectName = "lib",
directoryPrefix = rootProjectName,
wrapperVersion = GradleVersionRequired.AtLeast("5.3")
)
if (irBackend) {
libProject.gradleProperties().appendText(jsCompilerType(KotlinJsCompilerType.IR))
appProject.gradleProperties().appendText(jsCompilerType(KotlinJsCompilerType.IR))
}
libProject.projectDir.copyRecursively(appProject.projectDir.resolve(libProject.projectDir.name))
fun Project.asyncVersion(rootModulePath: String, moduleName: String): String =
NpmProjectModules(projectDir.resolve(rootModulePath))
.require(moduleName)
.let { File(it).parentFile.parentFile.resolve(NpmProject.PACKAGE_JSON) }
.let { fromSrcPackageJson(it) }
.let { it!!.version }
with(appProject) {
build("build", "browserDevelopmentWebpack") {
assertSuccessful()
val appAsyncVersion = asyncVersion("build/js/node_modules/app", "async")
assertEquals("3.2.0", appAsyncVersion)
val libAsyncVersion = asyncVersion("build/js/node_modules/lib2", "async")
assertEquals("2.6.2", libAsyncVersion)
}
}
}
@Test
fun testBrowserDistribution() = with(Project("kotlin-js-browser-project", GradleVersionRequired.AtLeast("5.0"))) {
setupWorkingDir()
@@ -10,11 +10,7 @@ repositories {
kotlin.js {
binaries.executable()
browser()
}
tasks.named("browserTest").configure {
enabled = false
nodejs()
}
rootProject.tasks
@@ -35,4 +31,5 @@ dependencies {
implementation(kotlin("stdlib-js"))
implementation("com.example:lib2")
implementation(npm("async", "3.2.0"))
testImplementation(kotlin("test-js"))
}
@@ -0,0 +1,15 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
import kotlin.test.Test
import kotlin.test.assertTrue
class SimpleTest {
@Test
fun simpleTest() {
assertTrue {
Singleton.test() is Long
}
}
}
@@ -10,11 +10,7 @@ repositories {
mavenLocal()
}
kotlin.target.browser()
tasks.named("browserTest").configure {
enabled = false
}
kotlin.target.nodejs()
rootProject.tasks
.withType(org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask::class.java)
@@ -1,5 +1,5 @@
object Singleton {
fun test(): String {
return "42"
fun test(): Long {
return 42L
}
}