blob: eb3e0c5b2516c11bceb7fdb55b535fd15add66dd [file] [log] [blame] [edit]
package org.jetbrains.uast.test.kotlin
import org.jetbrains.uast.UFile
import org.jetbrains.uast.kotlin.KotlinConverter
import org.junit.Test
class SimpleKotlinRenderLogTest : AbstractKotlinUastTest(), AbstractKotlinRenderLogTest {
override fun check(testName: String, file: UFile) = super.check(testName, file)
@Test
fun testLocalDeclarations() = doTest("LocalDeclarations")
@Test
fun testSimple() = doTest("Simple")
@Test
fun testWhenIs() = doTest("WhenIs")
@Test
fun testDefaultImpls() = doTest("DefaultImpls")
@Test
fun testBitwise() = doTest("Bitwise")
@Test
fun testElvis() = doTest("Elvis")
@Test
fun testPropertyAccessors() = doTest("PropertyAccessors")
@Test
fun testPropertyInitializer() = doTest("PropertyInitializer")
@Test
fun testPropertyInitializerWithoutSetter() = doTest("PropertyInitializerWithoutSetter")
@Test
fun testAnnotationParameters() = doTest("AnnotationParameters")
@Test
fun testEnumValueMembers() = doTest("EnumValueMembers")
@Test
fun testEnumValuesConstructors() = doTest("EnumValuesConstructors")
@Test
fun testStringTemplate() = doTest("StringTemplate")
@Test
fun testStringTemplateComplex() = doTest("StringTemplateComplex")
@Test
fun testStringTemplateComplexForUInjectionHost() = withForceUInjectionHostValue {
doTest("StringTemplateComplexForUInjectionHost")
}
@Test
fun testQualifiedConstructorCall() = doTest("QualifiedConstructorCall")
@Test
fun testPropertyDelegate() = doTest("PropertyDelegate")
@Test fun testLocalVariableWithAnnotation() = doTest("LocalVariableWithAnnotation")
@Test fun testPropertyWithAnnotation() = doTest("PropertyWithAnnotation")
@Test fun testIfStatement() = doTest("IfStatement")
@Test fun testInnerClasses() = doTest("InnerClasses")
@Test fun testSimpleScript() = doTest("SimpleScript") { testName, file -> check(testName, file, false) }
@Test fun testDestructuringDeclaration() = doTest("DestructuringDeclaration")
@Test fun testDefaultParameterValues() = doTest("DefaultParameterValues")
@Test fun testParameterPropertyWithAnnotation() = doTest("ParameterPropertyWithAnnotation")
@Test fun testParametersWithDefaultValues() = doTest("ParametersWithDefaultValues")
@Test
fun testUnexpectedContainer() = doTest("UnexpectedContainerException")
@Test
fun testWhenStringLiteral() = doTest("WhenStringLiteral")
@Test
fun testWhenAndDestructing() = doTest("WhenAndDestructing") { testName, file -> check(testName, file, false) }
@Test
fun testSuperCalls() = doTest("SuperCalls")
@Test
fun testConstructors() = doTest("Constructors")
@Test
fun testClassAnnotation() = doTest("ClassAnnotation")
@Test
fun testReceiverFun() = doTest("ReceiverFun")
@Test
fun testAnonymous() = doTest("Anonymous")
@Test
fun testAnnotationComplex() = doTest("AnnotationComplex")
@Test
fun testParametersDisorder() = doTest("ParametersDisorder") { testName, file ->
// disabled due to inconsistent parents for 2-receivers call (KT-22344)
check(testName, file, false)
}
@Test
fun testLambdas() = doTest("Lambdas")
@Test
fun testTypeReferences() = doTest("TypeReferences")
@Test
fun testDelegate() = doTest("Delegate")
@Test
fun testConstructorDelegate() = doTest("ConstructorDelegate")
@Test
fun testLambdaReturn() = doTest("LambdaReturn")
@Test
fun testReified() = doTest("Reified")
@Test
fun testReifiedReturnType() = doTest("ReifiedReturnType")
@Test
fun testReifiedParameters() = doTest("ReifiedParameters")
@Test
fun testSuspend() = doTest("Suspend")
@Test
fun testDeprecatedHidden() = doTest("DeprecatedHidden")
@Test
fun testTryCatch() = doTest("TryCatch")
@Test
fun testAnnotatedExpressions() = doTest("AnnotatedExpressions")
@Test
fun testNonTrivialIdentifiers() = doTest("NonTrivialIdentifiers")
@Test
fun testTypeAliasExpansionWithOtherAliasInArgument() = doTest("TypeAliasExpansionWithOtherAliasInArgument")
}
fun withForceUInjectionHostValue(call: () -> Unit) {
val prev = KotlinConverter.forceUInjectionHost
KotlinConverter.forceUInjectionHost = true
try {
call.invoke()
} finally {
KotlinConverter.forceUInjectionHost = prev
}
}