[Gradle, JS] Add test for KT-35640

This commit is contained in:
Alexander Likhachev
2021-08-19 18:16:44 +03:00
committed by Space
parent a0e6fb03f0
commit 5db4ec15d2
@@ -1028,4 +1028,50 @@ class GeneralKotlin2JsGradlePluginIT : BaseGradleIT() {
assertSuccessful()
}
}
@Test
fun testIncrementalDceDevModeOnExternalDependency() = with(transformProjectWithPluginsDsl("kotlin-js-browser-project")) {
val libBuildscript = projectDir.resolve("lib/build.gradle.kts")
build(":base:assemble") {
assertSuccessful()
fileInWorkingDir("base/build/libs/base-legacy.jar").copyTo(fileInWorkingDir("base.1.jar"))
}
projectFile("Base.kt").appendText("\nfun bestRandom() = 4")
build(":base:assemble") {
assertSuccessful()
fileInWorkingDir("base/build/libs/base-legacy.jar").copyTo(fileInWorkingDir("base.2.jar"))
}
libBuildscript.modify {
it.replace("implementation(project(\":base\"))", "implementation(files(\"../base.1.jar\"))")
}
libBuildscript.appendText("""
kotlin.js().browser {
dceTask {
dceOptions.devMode = true
}
}
""".trimIndent())
val baseDceFile = "build/js/packages/kotlin-js-browser-lib/kotlin-dce/kotlin-js-browser-base-js-legacy.js"
build(":lib:assemble") {
assertSuccessful()
assertFileExists(baseDceFile)
assert(!fileInWorkingDir(baseDceFile).readText().contains("bestRandom"))
}
libBuildscript.modify {
it.replace("../base.1.jar", "../base.2.jar")
}
build(":lib:assemble") {
assertSuccessful()
assertFileExists(baseDceFile)
assert(fileInWorkingDir(baseDceFile).readText().contains("bestRandom"))
}
}
}