You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2019/12/16 03:04:29 UTC
[groovy] 04/04: add test cases and other minor edits
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 0041f7122c94bdc75fa7f9f3c53deb05ac985ff8
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Sun Dec 15 12:17:55 2019 -0600
add test cases and other minor edits
(cherry picked from commit fee93c27c34d3200b23f3e3b306ff29fa2beb825)
---
src/test/groovy/transform/stc/LambdaTest.groovy | 210 +++++++++++++-----------
1 file changed, 110 insertions(+), 100 deletions(-)
diff --git a/src/test/groovy/transform/stc/LambdaTest.groovy b/src/test/groovy/transform/stc/LambdaTest.groovy
index 9485be3..48cf528 100644
--- a/src/test/groovy/transform/stc/LambdaTest.groovy
+++ b/src/test/groovy/transform/stc/LambdaTest.groovy
@@ -165,18 +165,31 @@ final class LambdaTest {
@Test
void testConsumer() {
assertScript '''
- import groovy.transform.CompileStatic
- import java.util.stream.Collectors
- import java.util.stream.Stream
+ @groovy.transform.CompileStatic
+ class Test1 {
+ static main(args) {
+ p()
+ }
- @CompileStatic
- public class Test1 {
- public static void main(String[] args) {
- p();
+ static void p() {
+ [1, 2, 3].stream().forEach(e -> { System.out.println(e + 1); })
}
+ }
+ '''
+ }
- public static void p() {
- [1, 2, 3].stream().forEach(e -> { System.out.println(e + 1); });
+ @Test @NotYetImplemented // GROOVY-9340
+ void testConsumerWithSelfType() {
+ assertScript '''
+ @groovy.transform.CompileStatic
+ class Test1 {
+ static main(args) {
+ p()
+ }
+
+ static void p() {
+ java.util.function.Consumer<Test1> c = t -> null
+ c.accept(this.newInstance())
}
}
'''
@@ -630,103 +643,106 @@ final class LambdaTest {
}
@Test
- void testConsumerCall() {
+ void testConsumer1() {
assertScript '''
- import groovy.transform.CompileStatic
- import java.util.stream.Collectors
- import java.util.stream.Stream
- import java.util.function.Consumer
-
- @CompileStatic
- public class Test1 {
- public static void main(String[] args) {
- p();
- }
+ @groovy.transform.CompileStatic
+ void m() {
+ int a = 1
+ java.util.function.Consumer<Integer> c = i -> { a += i }
+ c.accept(2)
+ assert a == 3
+ }
+ m()
+ '''
+ }
- public static void p() {
- int r = 1
- Consumer<Integer> c = (Integer e) -> { r += e }
- c(2)
- assert 3 == r
- }
+ @Test
+ void testConsumer2() {
+ assertScript '''
+ @groovy.transform.CompileStatic
+ void m() {
+ int a = 1
+ java.util.function.Consumer<Integer> c = (i) -> { a += i }
+ c.accept(2)
+ assert a == 3
}
+ m()
'''
}
@Test
- void testConsumerCallWithoutExplicitTypeDef() {
+ void testConsumer3() {
assertScript '''
- import groovy.transform.CompileStatic
- import java.util.stream.Collectors
- import java.util.stream.Stream
- import java.util.function.Consumer
+ @groovy.transform.CompileStatic
+ void m() {
+ int a = 1
+ java.util.function.Consumer<Integer> c = (Integer i) -> { a += i }
+ c.accept(2)
+ assert a == 3
+ }
+ m()
+ '''
+ }
- @CompileStatic
- public class Test1 {
- public static void main(String[] args) {
- p();
+ @Test
+ void testConsumer4() {
+ assertScript '''
+ @groovy.transform.CompileStatic
+ class Test1 {
+ static main(args) {
+ p()
}
- public static void p() {
- int r = 1
- Consumer<Integer> c = e -> { r += e }
- c(2)
- assert 3 == r
+ static void p() {
+ int a = 1
+ java.util.function.Consumer<Integer> c = e -> { a += e }
+ c.accept(2)
+ assert a == 3
}
}
'''
}
@Test
- void testConsumerCall2() {
+ void testConsumer5() {
assertScript '''
- import groovy.transform.CompileStatic
- import java.util.stream.Collectors
- import java.util.stream.Stream
- import java.util.function.Consumer
-
- @CompileStatic
- public class Test1 {
- public static void main(String[] args) {
- new Test1().p();
+ @groovy.transform.CompileStatic
+ class Test1 {
+ static main(args) {
+ new Test1().p()
}
- public void p() {
- int r = 1
- Consumer<Integer> c = (Integer e) -> { r += e }
- c(2)
- assert 3 == r
+ void p() {
+ int a = 1
+ java.util.function.Consumer<Integer> c = (Integer e) -> { a += e }
+ c.accept(2)
+ assert a == 3
}
}
'''
}
@Test
- void testConsumerCall3() {
+ void testConsumer6() {
assertScript '''
- import groovy.transform.CompileStatic
- import java.util.stream.Collectors
- import java.util.stream.Stream
- import java.util.function.Consumer
-
- @CompileStatic
- public class Test1 {
- public static void main(String[] args) {
- p();
+ @groovy.transform.CompileStatic
+ class Test1 {
+ static main(args) {
+ p()
}
- public static void p() {
- int r = 1
- Consumer<Integer> c = (Integer e) -> { r += e }
- c.accept(2)
- assert 3 == r
+ static void p() {
+ int a = 1
+ java.util.function.Consumer<Integer> c = (Integer e) -> { a += e }
+ c(2)
+ assert a == 3
}
}
'''
}
@Test
- void testSamCall() {
+ void testFunctionalInterface1() {
assertScript '''
import groovy.transform.CompileStatic
import java.util.stream.Collectors
@@ -752,7 +768,7 @@ final class LambdaTest {
}
@Test
- void testSamCallWithoutExplicitTypeDef() {
+ void testFunctionalInterface2() {
assertScript '''
import groovy.transform.CompileStatic
import java.util.stream.Collectors
@@ -778,7 +794,7 @@ final class LambdaTest {
}
@Test
- void testSamCall2() {
+ void testFunctionalInterface3() {
assertScript '''
import groovy.transform.CompileStatic
import java.util.stream.Collectors
@@ -1050,18 +1066,15 @@ final class LambdaTest {
'''
}
- @Test @NotYetImplemented
+ @Test @NotYetImplemented // GROOVY-9342
void testStaticInitializeBlocks2() {
assertScript '''
@groovy.transform.CompileStatic
class Test1 {
- static list
static int acc = 1
- static { list = [1, 2, 3].stream().map(e -> acc += e).toList() }
+ static { [1, 2, 3].forEach(e -> acc += e) }
}
-
- assert [2, 4, 7] == Test1.list
- assert 7 == Test1.acc
+ assert Test1.acc == 7
'''
}
@@ -1148,13 +1161,12 @@ final class LambdaTest {
@groovy.transform.CompileStatic
class Test1 {
def p() {
- def out = new ByteArrayOutputStream()
- out.withObjectOutputStream {
- SerializableFunction<Integer, String> f = ((Integer e) -> 'a' + e)
- it.writeObject(f)
- }
-
- return out.toByteArray()
+ def out = new ByteArrayOutputStream()
+ out.withObjectOutputStream {
+ SerializableFunction<Integer, String> f = ((Integer e) -> 'a' + e)
+ it.writeObject(f)
+ }
+ return out.toByteArray()
}
}
@@ -1170,13 +1182,12 @@ final class LambdaTest {
@groovy.transform.CompileStatic
class Test1 {
def p() {
- def out = new ByteArrayOutputStream()
- out.withObjectOutputStream {
- Function<Integer, String> f = ((Integer e) -> 'a' + e)
- it.writeObject(f)
- }
-
- return out.toByteArray()
+ def out = new ByteArrayOutputStream()
+ out.withObjectOutputStream {
+ Function<Integer, String> f = ((Integer e) -> 'a' + e)
+ it.writeObject(f)
+ }
+ return out.toByteArray()
}
}
@@ -1195,13 +1206,12 @@ final class LambdaTest {
@groovy.transform.CompileStatic
class Test1 {
byte[] p() {
- def out = new ByteArrayOutputStream()
- out.withObjectOutputStream {
- SerializableFunction<Integer, String> f = ((Integer e) -> 'a' + e)
- it.writeObject(f)
- }
-
- return out.toByteArray()
+ def out = new ByteArrayOutputStream()
+ out.withObjectOutputStream {
+ SerializableFunction<Integer, String> f = ((Integer e) -> 'a' + e)
+ it.writeObject(f)
+ }
+ return out.toByteArray()
}
static void main(String[] args) {