From 22e9e7de10935ac73093804ede890335d530dc56 Mon Sep 17 00:00:00 2001 From: Svetlana Isakova Date: Fri, 4 May 2012 20:43:41 +0400 Subject: [PATCH] more small tests --- .../testData/codegen/regressions/kt1061.kt | 7 ++++ .../testData/codegen/regressions/kt1249.kt | 12 ++++++ .../testData/codegen/regressions/kt1290.kt | 14 +++++++ .../testData/codegen/regressions/kt606.kt | 40 +------------------ .../jet/codegen/ExtensionFunctionsTest.java | 16 ++++++++ 5 files changed, 51 insertions(+), 38 deletions(-) create mode 100644 compiler/testData/codegen/regressions/kt1061.kt create mode 100644 compiler/testData/codegen/regressions/kt1249.kt create mode 100644 compiler/testData/codegen/regressions/kt1290.kt diff --git a/compiler/testData/codegen/regressions/kt1061.kt b/compiler/testData/codegen/regressions/kt1061.kt new file mode 100644 index 00000000000..af7d1d7b6d2 --- /dev/null +++ b/compiler/testData/codegen/regressions/kt1061.kt @@ -0,0 +1,7 @@ +//KT-1061 Can't call function defined as a val + +object X { + val doit = { (i: Int) -> i } +} + +fun box() : String = if (X.doit(3) == 3) "OK" else "fail" diff --git a/compiler/testData/codegen/regressions/kt1249.kt b/compiler/testData/codegen/regressions/kt1249.kt new file mode 100644 index 00000000000..13d136fe06d --- /dev/null +++ b/compiler/testData/codegen/regressions/kt1249.kt @@ -0,0 +1,12 @@ +//KT-1249 IllegalStateException invoking function property +class TestClass(val body : () -> Unit) : Any { + fun run() { + body() + } +} + +fun box() : String { + TestClass({}).run() + return "OK" +} + diff --git a/compiler/testData/codegen/regressions/kt1290.kt b/compiler/testData/codegen/regressions/kt1290.kt new file mode 100644 index 00000000000..da8de1b208f --- /dev/null +++ b/compiler/testData/codegen/regressions/kt1290.kt @@ -0,0 +1,14 @@ +//KT-1290 Method property in constructor causes NPE + +class Foo(val filter: (T) -> Boolean) { + public fun bar(tee: T) : Boolean { + return filter(tee); + } +} + +fun foo() = Foo({ (i: Int) -> i < 5 }).bar(2) + +fun box() : String { + if (!foo()) return "fail" + return "OK" +} diff --git a/compiler/testData/codegen/regressions/kt606.kt b/compiler/testData/codegen/regressions/kt606.kt index 83dc0b6f83d..b2012f84174 100644 --- a/compiler/testData/codegen/regressions/kt606.kt +++ b/compiler/testData/codegen/regressions/kt606.kt @@ -23,43 +23,7 @@ trait ChannelPipelineFactory { fun getPipeline() : ChannelPipeline } -fun testKt606() { - StandardPipelineFactory({ print("OK") }).getPipeline() -} - -//Tests for duplicates -//KT-1061 Can't call function defined as a val -object X { - val doit = { (i: Int) -> i } -} - -fun testKt1061() : String = if (X.doit(3) == 3) "OK" else "fail" - - -//KT-1249 IllegalStateException invoking function property -class TestClass(val body : () -> Unit) : Any { - fun run() { - body() - } -} - -fun testKt1249() { - TestClass({}).run() -} - -class Foo(val filter: (T) -> Boolean) { - public fun bar(tee: T) : Boolean { - return filter(tee); - } -} - -//KT-1290 Method property in constructor causes NPE -fun testKt1290() = Foo({ (i: Int) -> i < 5 }).bar(2) - fun box() : String { - testKt606() - testKt1061() - testKt1249() - if (!testKt1290()) return "fail" + StandardPipelineFactory({ print("OK") }).getPipeline() return "OK" -} +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java b/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java index 5a87c6f2b4c..268b7eeb884 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java @@ -76,8 +76,24 @@ public class ExtensionFunctionsTest extends CodegenTestCase { createEnvironmentWithMockJdkAndIdeaAnnotations(CompilerSpecialMode.BUILTINS); blackBoxFile("extensionFunctions/nested2.kt"); } + public void testKt606() throws Exception { createEnvironmentWithMockJdkAndIdeaAnnotations(CompilerSpecialMode.BUILTINS); blackBoxFile("regressions/kt606.kt"); } + + public void testKt1061() throws Exception { + createEnvironmentWithMockJdkAndIdeaAnnotations(CompilerSpecialMode.BUILTINS); + blackBoxFile("regressions/kt1061.kt"); + } + + public void testKt1249() throws Exception { + createEnvironmentWithMockJdkAndIdeaAnnotations(CompilerSpecialMode.BUILTINS); + blackBoxFile("regressions/kt1249.kt"); + } + + public void testKt1290() throws Exception { + createEnvironmentWithMockJdkAndIdeaAnnotations(CompilerSpecialMode.BUILTINS); + blackBoxFile("regressions/kt1290.kt"); + } }