Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X 7f7da9985 -> 5861d8106


minor refactor


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/5861d810
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/5861d810
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/5861d810

Branch: refs/heads/GROOVY_2_6_X
Commit: 5861d8106b0872650c2964e3b957fdd503f2654e
Parents: 7f7da99
Author: paulk <[email protected]>
Authored: Mon Oct 23 21:13:29 2017 +1000
Committer: paulk <[email protected]>
Committed: Mon Oct 23 21:13:29 2017 +1000

----------------------------------------------------------------------
 .../parser/antlr4/GroovyParserTest.groovy       | 24 ++++-----
 .../src/test/resources/core/Lambda_01x.groovy   | 15 +-----
 .../test/resources/core/Lambda_01x_1_7.groovy   | 37 -------------
 .../test/resources/core/Lambda_01x_1_8.groovy   | 35 ++++++++++++
 .../resources/core/MethodReference_01x.groovy   | 54 ++++---------------
 .../core/MethodReference_01x_1_7.groovy         | 57 --------------------
 .../core/MethodReference_01x_1_8.groovy         | 49 +++++++++++++++++
 7 files changed, 108 insertions(+), 163 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/5861d810/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy
----------------------------------------------------------------------
diff --git 
a/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy
 
b/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy
index a4227fb..40650a3 100644
--- 
a/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy
+++ 
b/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy
@@ -34,10 +34,11 @@ import static 
org.apache.groovy.parser.antlr4.TestUtils.doRunAndTest
  * Some basic test cases for the new parser
  */
 class GroovyParserTest extends GroovyTestCase {
+    private boolean jdk8orGreater
 
-    void setUp() {}
-
-    void tearDown() {}
+    void setUp() {
+        jdk8orGreater = System.getProperty('java.specification.version') >= 
'1.8'
+    }
 
     void "test groovy core - Comments"() {
         doTest('core/Comments_01.groovy', [ExpressionStatement])
@@ -141,18 +142,16 @@ class GroovyParserTest extends GroovyTestCase {
     }
 
     void "test groovy core - Lambda"() {
-        if 
(Runtime.class.getPackage().getImplementationVersion().startsWith("1.7.")) {
-            doRunAndTest('core/Lambda_01x_1_7.groovy')
-        } else {
-            doRunAndTest('core/Lambda_01x.groovy')
+        doRunAndTest('core/Lambda_01x.groovy ')
+        if (jdk8orGreater) {
+            doRunAndTest('core/Lambda_01x_1_8.groovy')
         }
     }
 
     void "test groovy core - MethodReference"() {
-        if 
(Runtime.class.getPackage().getImplementationVersion().startsWith("1.7.")) {
-            doRunAndTest('core/MethodReference_01x_1_7.groovy')
-        } else {
-            doRunAndTest('core/MethodReference_01x.groovy')
+        doRunAndTest('core/MethodReference_01x.groovy ')
+        if (jdk8orGreater) {
+            doRunAndTest('core/MethodReference_01x_1_8.groovy')
         }
     }
 
@@ -288,7 +287,6 @@ class GroovyParserTest extends GroovyTestCase {
     void "test groovy core - LocalVariableDeclaration"() {
         doTest('core/LocalVariableDeclaration_01.groovy', [Token]) // [class 
org.codehaus.groovy.syntax.Token][startLine]:: 9 != 8
         doRunAndTest('core/LocalVariableDeclaration_02x.groovy')
-
     }
 
     void "test groovy core - MethodDeclaration"() {
@@ -388,7 +386,7 @@ class GroovyParserTest extends GroovyTestCase {
         doTest('bugs/BUG-GROOVY-8161.groovy')
         doRunAndTest('bugs/GROOVY-3898.groovy')
         doRunAndTest('bugs/BUG-GROOVY-8311.groovy')
-        if (System.getProperty('java.specification.version') < '1.8') return
+        if (!jdk8orGreater) return
         doRunAndTest('bugs/GROOVY-8228.groovy')
     }
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/5861d810/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x.groovy
----------------------------------------------------------------------
diff --git 
a/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x.groovy 
b/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x.groovy
index 5c147ac..dbab616 100644
--- a/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x.groovy
+++ b/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x.groovy
@@ -16,10 +16,6 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-assert 9 == [1, 2, 3].stream().map(e -> e + 1).reduce(0, (r, e) -> r + e)
-assert 9 == [1, 2, 3].stream().map(e -> {e + 1}).reduce(0, (r, e) -> r + e)
-assert 9 == [1, 2, 3].stream().map((e) -> e + 1).reduce(0, (r, e) -> r + e)
-assert 9 == [1, 2, 3].stream().map((e) -> e + 1).reduce(0, (r, e) -> {r + e})
 assert 32 == ((e) -> e + 1)(2) + ((e, f) -> e + f)(2, 3) + ((e, f, g) -> e * f 
* g)(2, 3, 4)
 
 assert 24 == ((e, f, g) -> {e * f * g})(2, 3, 4)
@@ -49,18 +45,11 @@ assert 1 == lambda(1)
 lambda = e -> e + 1;
 assert 2 == lambda(1)
 
-int sum = 0;
-[1, 2, 3].forEach(e -> {
-    sum += e
-})
-assert 6 == sum;
-
 def c = { (e) -> e * 2 }
 assert 6 == c()(3)
 
 c = { (e) -> { e * 2 } }
 assert 6 == c()(3)
 
-assert ['1', '2', '3'] == [0, 1, 2].collect(e -> String.valueOf e + 1)
-assert [3, 4, 5] == ['0', '1', '2'].collect(e -> Integer.parseInt e plus 1 
plus 2)
-assert [4] == ['0'].collect(e -> e.length() plus 1 plus 2)
\ No newline at end of file
+
+

http://git-wip-us.apache.org/repos/asf/groovy/blob/5861d810/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x_1_7.groovy
----------------------------------------------------------------------
diff --git 
a/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x_1_7.groovy 
b/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x_1_7.groovy
deleted file mode 100644
index 5df9858..0000000
--- a/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x_1_7.groovy
+++ /dev/null
@@ -1,37 +0,0 @@
-assert 32 == ((e) -> e + 1)(2) + ((e, f) -> e + f)(2, 3) + ((e, f, g) -> e * f 
* g)(2, 3, 4)
-
-assert 24 == ((e, f, g) -> {e * f * g})(2, 3, 4)
-assert 24 == ((int e, int f, int g) -> {
-    int tmpE = e;
-    int tmpF = f;
-    int tmpG = g;
-    return tmpE * tmpF * tmpG;
-})(2, 3, 4)
-assert 24 == ((int e, int f, int g=4) -> {
-    int tmpE = e;
-    int tmpF = f;
-    int tmpG = g;
-    return tmpE * tmpF * tmpG;
-})(2, 3)
-
-def list = [2, 3, 1]
-Collections.sort(list, (n1, n2) -> n1 <=> n2)
-assert [1, 2, 3] == list
-
-assert 1 == (e -> e)(1)
-assert 2 == (() -> 2)()
-
-def lambda = e -> e;
-assert 1 == lambda(1)
-
-lambda = e -> e + 1;
-assert 2 == lambda(1)
-
-def c = { (e) -> e * 2 }
-assert 6 == c()(3)
-
-c = { (e) -> { e * 2 } }
-assert 6 == c()(3)
-
-
-

http://git-wip-us.apache.org/repos/asf/groovy/blob/5861d810/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x_1_8.groovy
----------------------------------------------------------------------
diff --git 
a/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x_1_8.groovy 
b/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x_1_8.groovy
new file mode 100644
index 0000000..81c2c35
--- /dev/null
+++ b/subprojects/parser-antlr4/src/test/resources/core/Lambda_01x_1_8.groovy
@@ -0,0 +1,35 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+// additional tests that use jdk8 api calls
+
+assert 9 == [1, 2, 3].stream().map(e -> e + 1).reduce(0, (r, e) -> r + e)
+assert 9 == [1, 2, 3].stream().map(e -> {e + 1}).reduce(0, (r, e) -> r + e)
+assert 9 == [1, 2, 3].stream().map((e) -> e + 1).reduce(0, (r, e) -> r + e)
+assert 9 == [1, 2, 3].stream().map((e) -> e + 1).reduce(0, (r, e) -> {r + e})
+
+int sum = 0;
+[1, 2, 3].forEach(e -> {
+    sum += e
+})
+assert 6 == sum;
+
+assert ['1', '2', '3'] == [0, 1, 2].collect(e -> String.valueOf e + 1)
+assert [3, 4, 5] == ['0', '1', '2'].collect(e -> Integer.parseInt e plus 1 
plus 2)
+assert [4] == ['0'].collect(e -> e.length() plus 1 plus 2)

http://git-wip-us.apache.org/repos/asf/groovy/blob/5861d810/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x.groovy
----------------------------------------------------------------------
diff --git 
a/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x.groovy 
b/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x.groovy
index 4816adf..dfeede3 100644
--- 
a/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x.groovy
+++ 
b/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x.groovy
@@ -16,60 +16,35 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-import java.util.stream.Collectors
 
-// class::staticMethod
-assert ['1', '2', '3'] == [1, 2, 
3].stream().map(Integer::toString).collect(Collectors.toList())
+def robot = new Robot()
 
-// class::instanceMethod
-assert ['A', 'B', 'C'] == ['a', 'b', 
'c'].stream().map(String::toUpperCase).collect(Collectors.toList())
-
-
-
-def robot = new Robot();
-
-// instance::instanceMethod
-assert ['Hi, Jochen', 'Hi, Paul', 'Hi, Daniel'] == [new Person('Jochen'), new 
Person('Paul'), new 
Person('Daniel')].stream().map(robot::greet).collect(Collectors.toList())
-
-// class::staticMethod
-assert ['Jochen', 'Paul', 'Daniel'] == [new Person('Jochen'), new 
Person('Paul'), new 
Person('Daniel')].stream().map(Person::getText).collect(Collectors.toList())
-assert ['Jochen', 'Paul', 'Daniel'] == [new Person('Jochen'), new 
Person('Paul'), new 
Person('Daniel')].stream().map(BasePerson::getText).collect(Collectors.toList())
-
-// instance::staticMethod
-assert ['J', 'P', 'D'] == [new Person('Jochen'), new Person('Paul'), new 
Person('Daniel')].stream().map(robot::firstCharOfName).collect(Collectors.toList())
-
-// class::instanceMethod
-assert ['Jochen', 'Paul', 'Daniel'] == [new Person('Jochen'), new 
Person('Paul'), new 
Person('Daniel')].stream().map(Person::getName).collect(Collectors.toList())
-
-// class::instanceMethod
-assert 6 == java.util.stream.Stream.of(1, 2, 3).reduce(0, BigDecimal::add)
-
-// ----------------------------------
 class BasePerson {
-    public static String getText(Person p) {
-        return p.name;
+    static String getText(Person p) {
+        return p.name
     }
 }
 
 class Person extends BasePerson {
-    private String name;
+    private String name
 
-    public Person(String name) {
+    Person(String name) {
         this.name = name
     }
 
-    public String getName() {
-        return this.name;
+    String getName() {
+        return this.name
     }
 
 }
+
 class Robot {
-    public String greet(Person p) {
+    String greet(Person p) {
         return "Hi, ${p.name}"
     }
 
-    public static char firstCharOfName(Person p) {
-        return p.getName().charAt(0);
+    static char firstCharOfName(Person p) {
+        return p.getName().charAt(0)
     }
 }
 
@@ -85,10 +60,6 @@ assert new String[0] == String[]::new('0')
 assert new String[1][2] == String[][]::new(1, 2)
 assert new String[1][2][3] == String[][][]::new(1, 2, 3)
 
-assert [new String[1], new String[2], new String[3]] == [1, 2, 
3].stream().map(String[]::new).collect(Collectors.toList())
-assert [1, 2, 3] as String[] == [1, 2, 
3].stream().map(String::valueOf).toArray(String[]::new)
-
-
 def a = String[][]::new(1, 2)
 def b = new String[1][2]
 assert a.class == b.class && a == b
@@ -100,6 +71,3 @@ assert a.class == b.class && a == b
 a = String[][][][]::new(1, 2)
 b = new String[1][2][][]
 assert a.class == b.class && a == b
-
-
-

http://git-wip-us.apache.org/repos/asf/groovy/blob/5861d810/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x_1_7.groovy
----------------------------------------------------------------------
diff --git 
a/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x_1_7.groovy
 
b/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x_1_7.groovy
deleted file mode 100644
index 25d5b1f..0000000
--- 
a/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x_1_7.groovy
+++ /dev/null
@@ -1,57 +0,0 @@
-
-def robot = new Robot();
-
-// ----------------------------------
-class BasePerson {
-    public static String getText(Person p) {
-        return p.name;
-    }
-}
-
-class Person extends BasePerson {
-    private String name;
-
-    public Person(String name) {
-        this.name = name
-    }
-
-    public String getName() {
-        return this.name;
-    }
-
-}
-class Robot {
-    public String greet(Person p) {
-        return "Hi, ${p.name}"
-    }
-
-    public static char firstCharOfName(Person p) {
-        return p.getName().charAt(0);
-    }
-}
-
-def mr = String::toUpperCase
-assert 'ABC' == mr('abc')
-assert 'ABC' == String::toUpperCase('abc')
-
-assert new HashSet() == HashSet::new()
-assert new String() == String::new()
-assert 1 == Integer::new(1)
-assert new String[0] == String[]::new(0)
-assert new String[0] == String[]::new('0')
-assert new String[1][2] == String[][]::new(1, 2)
-assert new String[1][2][3] == String[][][]::new(1, 2, 3)
-
-
-def a = String[][]::new(1, 2)
-def b = new String[1][2]
-assert a.class == b.class && a == b
-
-a = String[][][]::new(1, 2)
-b = new String[1][2][]
-assert a.class == b.class && a == b
-
-a = String[][][][]::new(1, 2)
-b = new String[1][2][][]
-assert a.class == b.class && a == b
-

http://git-wip-us.apache.org/repos/asf/groovy/blob/5861d810/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x_1_8.groovy
----------------------------------------------------------------------
diff --git 
a/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x_1_8.groovy
 
b/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x_1_8.groovy
new file mode 100644
index 0000000..617c20a
--- /dev/null
+++ 
b/subprojects/parser-antlr4/src/test/resources/core/MethodReference_01x_1_8.groovy
@@ -0,0 +1,49 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+// additional tests that use jdk8 api calls
+
+import java.util.stream.Collectors
+
+// class::staticMethod
+assert ['1', '2', '3'] == [1, 2, 
3].stream().map(Integer::toString).collect(Collectors.toList())
+
+// class::instanceMethod
+assert ['A', 'B', 'C'] == ['a', 'b', 
'c'].stream().map(String::toUpperCase).collect(Collectors.toList())
+
+
+// instance::instanceMethod
+assert ['Hi, Jochen', 'Hi, Paul', 'Hi, Daniel'] == [new Person('Jochen'), new 
Person('Paul'), new 
Person('Daniel')].stream().map(robot::greet).collect(Collectors.toList())
+
+// class::staticMethod
+assert ['Jochen', 'Paul', 'Daniel'] == [new Person('Jochen'), new 
Person('Paul'), new 
Person('Daniel')].stream().map(Person::getText).collect(Collectors.toList())
+assert ['Jochen', 'Paul', 'Daniel'] == [new Person('Jochen'), new 
Person('Paul'), new 
Person('Daniel')].stream().map(BasePerson::getText).collect(Collectors.toList())
+
+// instance::staticMethod
+assert ['J', 'P', 'D'] == [new Person('Jochen'), new Person('Paul'), new 
Person('Daniel')].stream().map(robot::firstCharOfName).collect(Collectors.toList())
+
+// class::instanceMethod
+assert ['Jochen', 'Paul', 'Daniel'] == [new Person('Jochen'), new 
Person('Paul'), new 
Person('Daniel')].stream().map(Person::getName).collect(Collectors.toList())
+
+// class::instanceMethod
+assert 6 == java.util.stream.Stream.of(1, 2, 3).reduce(0, BigDecimal::add)
+
+
+assert [new String[1], new String[2], new String[3]] == [1, 2, 
3].stream().map(String[]::new).collect(Collectors.toList())
+assert [1, 2, 3] as String[] == [1, 2, 
3].stream().map(String::valueOf).toArray(String[]::new)

Reply via email to