From 49391e64d6a7be70b19c004732716ababf28af3b Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 6 Sep 2019 11:37:06 +0300 Subject: [PATCH] Add testing for karma use puppeteer for downloading chrome --- .../kotlin/gradle/Kotlin2JsGradlePluginIT.kt | 21 +++++++++++++ .../build.gradle.kts | 31 +++++++++++++++++++ .../gradle.properties | 1 + .../settings.gradle.kts | 8 +++++ .../src/main/kotlin/Service.kt | 8 +++++ .../src/test/kotlin/ServiceTest.kt | 21 +++++++++++++ .../kotlin-js-karma-download-chrome/tests.xml | 13 ++++++++ 7 files changed, 103 insertions(+) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/build.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/gradle.properties create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/settings.gradle.kts create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/src/main/kotlin/Service.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/src/test/kotlin/ServiceTest.kt create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/tests.xml diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt index 4745656864e..327e86cd370 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt @@ -396,4 +396,25 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { assertTestResults("testProject/kotlin-js-plugin-project/tests.xml", "nodeTest") } } + + @Test + fun testKotlinJsKarmaDownloadChrome() = with(Project("kotlin-js-karma-download-chrome", GradleVersionRequired.AtLeast("4.10.2"))) { + setupWorkingDir() + gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl) + gradleSettingsScript().modify(::transformBuildScriptWithPluginsDsl) + + build("test") { + assertFailed() + + assertTasksExecuted( + ":kotlinNpmInstall", + ":compileKotlinJs", + ":compileTestKotlinJs" + ) + + assertFileExists("build/js/node_modules/puppeteer/.local-chromium") + + assertTestResults("testProject/kotlin-js-karma-download-chrome/tests.xml", "browserTest") + } + } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/build.gradle.kts new file mode 100644 index 00000000000..496ef65a898 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/build.gradle.kts @@ -0,0 +1,31 @@ +plugins { + kotlin("js") version "" +} + +group = "com.example" +version = "1.0" + +repositories { + mavenLocal() + jcenter() +} + +kotlin { + target { + browser() + } + + sourceSets { + getByName("main") { + dependencies { + implementation(kotlin("stdlib-js")) + } + } + + getByName("test") { + dependencies { + implementation(kotlin("test-js")) + } + } + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/gradle.properties b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/gradle.properties new file mode 100644 index 00000000000..a4a181c3de2 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/gradle.properties @@ -0,0 +1 @@ +kotlin.tests.individualTaskReports=true \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/settings.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/settings.gradle.kts new file mode 100644 index 00000000000..b84b9abdce1 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/settings.gradle.kts @@ -0,0 +1,8 @@ +pluginManagement { + repositories { + mavenLocal() + gradlePluginPortal() + } +} + +rootProject.name = "kotlin-js-karma-download-chrome" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/src/main/kotlin/Service.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/src/main/kotlin/Service.kt new file mode 100644 index 00000000000..021f0b9c5a4 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/src/main/kotlin/Service.kt @@ -0,0 +1,8 @@ +/* + * Copyright 2010-2019 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. + */ + +package com.example + +fun value() = "value" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/src/test/kotlin/ServiceTest.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/src/test/kotlin/ServiceTest.kt new file mode 100644 index 00000000000..99403a4c1ce --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/src/test/kotlin/ServiceTest.kt @@ -0,0 +1,21 @@ +/* + * Copyright 2010-2019 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. + */ + +package com.example + +import kotlin.test.Test +import kotlin.test.assertEquals + +class ServiceTest { + @Test + fun serviceTest() { + assertEquals("value", value()) + } + + @Test + fun serviceFailTest() { + assertEquals("value12", value()) + } +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/tests.xml b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/tests.xml new file mode 100644 index 00000000000..bffa829bfa1 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-karma-download-chrome/tests.xml @@ -0,0 +1,13 @@ + + + + + + + ... + + + + + +