Clean-up and improve sam-with-receiver test with scripts
This commit is contained in:
+9
-5
@@ -17,6 +17,7 @@
|
||||
package org.jetbrains.kotlin.samWithReceiver
|
||||
|
||||
import com.intellij.mock.MockProject
|
||||
import org.jetbrains.kotlin.TestsCompilerError
|
||||
import org.jetbrains.kotlin.checkers.AbstractDiagnosticsTest
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.jetbrains.kotlin.scripting.compiler.plugin.impl.ScriptJvmCompilerFromEnvironment
|
||||
@@ -26,10 +27,7 @@ import org.jetbrains.kotlin.scripting.resolve.KtFileScriptSource
|
||||
import org.junit.Assert
|
||||
import java.io.File
|
||||
import kotlin.script.experimental.annotations.KotlinScript
|
||||
import kotlin.script.experimental.api.ResultWithDiagnostics
|
||||
import kotlin.script.experimental.api.ScriptCompilationConfiguration
|
||||
import kotlin.script.experimental.api.compilerOptions
|
||||
import kotlin.script.experimental.api.fileExtension
|
||||
import kotlin.script.experimental.api.*
|
||||
import kotlin.script.experimental.host.toScriptSource
|
||||
import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
|
||||
import kotlin.script.experimental.jvmhost.createJvmScriptDefinitionFromTemplate
|
||||
@@ -58,7 +56,13 @@ abstract class AbstractSamWithReceiverScriptNewDefTest : AbstractDiagnosticsTest
|
||||
super.analyzeAndCheck(testDataFile, files)
|
||||
for (file in scripts) {
|
||||
val res = scriptCompiler.compile(KtFileScriptSource(file.ktFile!!), ScriptForSamWithReceiversNewDefCompilationConfiguration)
|
||||
val x = res
|
||||
if (res is ResultWithDiagnostics.Failure && !file.name.contains("error", ignoreCase = true))
|
||||
throw TestsCompilerError(
|
||||
RuntimeException(
|
||||
res.reports.joinToString("\n") { it.exception?.toString() ?: it.message },
|
||||
res.reports.find { it.exception != null }?.exception
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-1
@@ -19,10 +19,14 @@ public class Exec {
|
||||
void exec(Sam sam) { sam.run("a", "b") }
|
||||
}
|
||||
|
||||
// FILE: test.kts
|
||||
// FILE: test_with_error.kts
|
||||
val e = Exec()
|
||||
|
||||
e.exec <!TYPE_MISMATCH!>{ <!EXPECTED_PARAMETERS_NUMBER_MISMATCH!>a, <!CANNOT_INFER_PARAMETER_TYPE!>b<!><!> -> System.out.println(a) }<!>
|
||||
|
||||
// FILE: test.kts
|
||||
val e = Exec()
|
||||
|
||||
e.exec { b ->
|
||||
val a: String = this
|
||||
System.out.println(a)
|
||||
|
||||
+9
@@ -30,3 +30,12 @@ public final class Test : kotlin.script.templates.standard.ScriptTemplateWithArg
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final class Test_with_error : kotlin.script.templates.standard.ScriptTemplateWithArgs {
|
||||
public constructor Test_with_error(/*0*/ args: kotlin.Array<kotlin.String>)
|
||||
public final override /*1*/ /*fake_override*/ val args: kotlin.Array<kotlin.String>
|
||||
public final val e: Exec
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user