diff --git a/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsIT.kt b/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsIT.kt index d08937cd12e..245960b4f30 100644 --- a/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsIT.kt +++ b/libraries/tools/kotlin-main-kts-test/test/org/jetbrains/kotlin/mainKts/test/mainKtsIT.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.mainKts.test import junit.framework.Assert import org.jetbrains.kotlin.scripting.compiler.plugin.runWithK2JVMCompiler import org.jetbrains.kotlin.scripting.compiler.plugin.runWithKotlinc +import org.junit.Ignore import org.junit.Test import java.io.File @@ -18,6 +19,15 @@ class MainKtsIT { runWithKotlincAndMainKts("$TEST_DATA_ROOT/hello-resolve-junit.main.kts", listOf("Hello, World!")) } + @Test + @Ignore // Fails on TC most likely due to repo proxying + fun testKotlinxHtml() { + runWithK2JVMCompilerAndMainKts( + "$TEST_DATA_ROOT/kotlinx-html.main.kts", + listOf("", " ", "

Hello, World!

", " ", "") + ) + } + @Test fun testImport() { val mainKtsJar = File("dist/kotlinc/lib/kotlin-main-kts.jar") @@ -49,3 +59,16 @@ fun runWithKotlincAndMainKts( ) ) +fun runWithK2JVMCompilerAndMainKts( + scriptPath: String, + expectedOutPatterns: List = emptyList(), + expectedExitCode: Int = 0 +) = runWithK2JVMCompiler( + scriptPath, expectedOutPatterns, expectedExitCode, + classpath = listOf( + File("dist/kotlinc/lib/kotlin-main-kts.jar").also { + Assert.assertTrue("kotlin-main-kts.jar not found, run dist task: ${it.absolutePath}", it.exists()) + } + ) +) + diff --git a/libraries/tools/kotlin-main-kts-test/testData/kotlinx-html.main.kts b/libraries/tools/kotlin-main-kts-test/testData/kotlinx-html.main.kts new file mode 100755 index 00000000000..982fa7a8823 --- /dev/null +++ b/libraries/tools/kotlin-main-kts-test/testData/kotlinx-html.main.kts @@ -0,0 +1,15 @@ +#!/usr/bin/env kotlinc -cp dist/kotlinc/lib/kotlin-main-kts.jar -script + +@file:Repository("https://jcenter.bintray.com") +@file:DependsOn("org.jetbrains.kotlinx:kotlinx-html-jvm:0.6.11") + +import kotlinx.html.*; import kotlinx.html.stream.*; import kotlinx.html.attributes.* + +BooleanEncoder() + +print(createHTML().html { + body { + h1 { +"Hello, World!" } + } +}) +