You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2021/12/20 10:07:02 UTC

[groovy] branch master updated: additional test case plus some comments

This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/master by this push:
     new 6c71893  additional test case plus some comments
6c71893 is described below

commit 6c7189388bd09d7b9c38f149e8bdf9363124ddd7
Author: Paul King <pa...@asert.com.au>
AuthorDate: Mon Dec 20 20:06:53 2021 +1000

    additional test case plus some comments
---
 .../RecordDeclaration_14x.groovy}                                     | 4 +++-
 src/test-resources/fail/RecordDeclaration_01x.groovy                  | 1 +
 src/test-resources/fail/RecordDeclaration_10x.groovy                  | 1 +
 src/test-resources/fail/RecordDeclaration_11x.groovy                  | 1 +
 .../{RecordDeclaration_01x.groovy => RecordDeclaration_14x.groovy}    | 3 ++-
 src/test/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy      | 1 +
 src/test/org/apache/groovy/parser/antlr4/SyntaxErrorTest.groovy       | 1 +
 7 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/test-resources/fail/RecordDeclaration_01x.groovy b/src/test-resources/core/RecordDeclaration_14x.groovy
similarity index 90%
copy from src/test-resources/fail/RecordDeclaration_01x.groovy
copy to src/test-resources/core/RecordDeclaration_14x.groovy
index b9b887e..75eb27a 100644
--- a/src/test-resources/fail/RecordDeclaration_01x.groovy
+++ b/src/test-resources/core/RecordDeclaration_14x.groovy
@@ -18,4 +18,6 @@
  */
 package core
 
-record Fruit(String name, double price) extends Object {}
+record R2(int[] x) { }
+int[] nums = [1, 2]
+assert new R2(nums).toString() == 'R2[x=[1, 2]]'
diff --git a/src/test-resources/fail/RecordDeclaration_01x.groovy b/src/test-resources/fail/RecordDeclaration_01x.groovy
index b9b887e..2a8d88b 100644
--- a/src/test-resources/fail/RecordDeclaration_01x.groovy
+++ b/src/test-resources/fail/RecordDeclaration_01x.groovy
@@ -18,4 +18,5 @@
  */
 package core
 
+// can't explicitly extend a class
 record Fruit(String name, double price) extends Object {}
diff --git a/src/test-resources/fail/RecordDeclaration_10x.groovy b/src/test-resources/fail/RecordDeclaration_10x.groovy
index 031cb10..52778d1 100644
--- a/src/test-resources/fail/RecordDeclaration_10x.groovy
+++ b/src/test-resources/fail/RecordDeclaration_10x.groovy
@@ -18,4 +18,5 @@
  */
 package core
 
+// accessor method would conflict with Object method
 record Bad(String clone) { }
diff --git a/src/test-resources/fail/RecordDeclaration_11x.groovy b/src/test-resources/fail/RecordDeclaration_11x.groovy
index da045bb..c61f0f0 100644
--- a/src/test-resources/fail/RecordDeclaration_11x.groovy
+++ b/src/test-resources/fail/RecordDeclaration_11x.groovy
@@ -18,4 +18,5 @@
  */
 package core
 
+// accessor method would conflict with Object method
 record Bad(int hashCode) { }
diff --git a/src/test-resources/fail/RecordDeclaration_01x.groovy b/src/test-resources/fail/RecordDeclaration_14x.groovy
similarity index 89%
copy from src/test-resources/fail/RecordDeclaration_01x.groovy
copy to src/test-resources/fail/RecordDeclaration_14x.groovy
index b9b887e..cdc111c 100644
--- a/src/test-resources/fail/RecordDeclaration_01x.groovy
+++ b/src/test-resources/fail/RecordDeclaration_14x.groovy
@@ -18,4 +18,5 @@
  */
 package core
 
-record Fruit(String name, double price) extends Object {}
+// C-style array declarations not allowed in record components as per JLS
+record R1(int x[]) { }
diff --git a/src/test/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy b/src/test/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy
index b13c92f..82e0c42 100644
--- a/src/test/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy
+++ b/src/test/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy
@@ -371,6 +371,7 @@ final class GroovyParserTest extends GroovyTestCase {
         doRunAndTestAntlr4('core/RecordDeclaration_11x.groovy')
         doRunAndTestAntlr4('core/RecordDeclaration_12x.groovy')
         doRunAndTestAntlr4('core/RecordDeclaration_13x.groovy')
+        doRunAndTestAntlr4('core/RecordDeclaration_14x.groovy')
     }
 
     void "test groovy core - AnnotationDeclaration"() {
diff --git a/src/test/org/apache/groovy/parser/antlr4/SyntaxErrorTest.groovy b/src/test/org/apache/groovy/parser/antlr4/SyntaxErrorTest.groovy
index 237935c..c8f30f1 100644
--- a/src/test/org/apache/groovy/parser/antlr4/SyntaxErrorTest.groovy
+++ b/src/test/org/apache/groovy/parser/antlr4/SyntaxErrorTest.groovy
@@ -471,6 +471,7 @@ final class SyntaxErrorTest {
         TestUtils.doRunAndShouldFail('fail/RecordDeclaration_11x.groovy')
         TestUtils.doRunAndShouldFail('fail/RecordDeclaration_12x.groovy')
         TestUtils.doRunAndShouldFail('fail/RecordDeclaration_13x.groovy')
+        TestUtils.doRunAndShouldFail('fail/RecordDeclaration_14x.groovy')
     }
 
     @Test