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