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 2020/09/23 23:38:57 UTC
[groovy] 01/02: 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 fca763c97a65753504ae7695eb5e5ad704fe4512
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Wed Sep 23 12:27:31 2020 -0500
minor edits
(cherry picked from commit 1cf3c02376354aded7f29106f897a16d94e95312)
---
src/test/groovy/bugs/Groovy9010.groovy | 15 +++
.../groovy/transform/AutoFinalTransformTest.groovy | 4 +-
.../groovy/transform/DelegateTransformTest.groovy | 2 +-
.../transform/NewifyTransformBlackBoxTest.groovy | 132 ++++++++++-----------
4 files changed, 78 insertions(+), 75 deletions(-)
diff --git a/src/test/groovy/bugs/Groovy9010.groovy b/src/test/groovy/bugs/Groovy9010.groovy
index c59ac6b..8b360fc 100644
--- a/src/test/groovy/bugs/Groovy9010.groovy
+++ b/src/test/groovy/bugs/Groovy9010.groovy
@@ -18,19 +18,34 @@
*/
package groovy.bugs
+import groovy.test.NotYetImplemented
import groovy.transform.CompileStatic
import org.junit.Test
import static groovy.test.GroovyAssert.assertScript
+import static groovy.test.GroovyAssert.shouldFail
@CompileStatic
final class Groovy9010 {
+ @NotYetImplemented @Test
+ void testASTTestWithArrowInClosure() {
+ assertScript '''\
+ @groovy.transform.ASTTest({ -> assert true })
+ def x
+ '''
+ }
+
@Test
void testASTTestWithNoSpacesInClosure() {
assertScript '''
@groovy.transform.ASTTest({assert 1==1})
def x
'''
+ def err = shouldFail '''
+ @groovy.transform.ASTTest({assert 0==1})
+ def x
+ '''
+ assert err =~ /(?s)Assertion failed:.*assert 0==1.*false\b/
}
}
diff --git a/src/test/org/codehaus/groovy/transform/AutoFinalTransformTest.groovy b/src/test/org/codehaus/groovy/transform/AutoFinalTransformTest.groovy
index 496ea85..58b11f5 100644
--- a/src/test/org/codehaus/groovy/transform/AutoFinalTransformTest.groovy
+++ b/src/test/org/codehaus/groovy/transform/AutoFinalTransformTest.groovy
@@ -31,7 +31,7 @@ class AutoFinalTransformTest extends CompilableTestSupport {
import groovy.transform.*
import static java.lang.reflect.Modifier.isFinal
- @ASTTest(phase=SEMANTIC_ANALYSIS, value = {
+ @ASTTest({
assert node.methods.size() == 1
node.methods[0].with {
assert it.name == 'fullName'
@@ -66,7 +66,7 @@ class AutoFinalTransformTest extends CompilableTestSupport {
import groovy.transform.*
import static java.lang.reflect.Modifier.isFinal
- @ASTTest(phase=SEMANTIC_ANALYSIS, value = {
+ @ASTTest({
assert node.methods.size() == 2
node.methods[0].with {
assert it.name == 'fullName'
diff --git a/src/test/org/codehaus/groovy/transform/DelegateTransformTest.groovy b/src/test/org/codehaus/groovy/transform/DelegateTransformTest.groovy
index 1f3e8ab..ea6df85 100644
--- a/src/test/org/codehaus/groovy/transform/DelegateTransformTest.groovy
+++ b/src/test/org/codehaus/groovy/transform/DelegateTransformTest.groovy
@@ -594,7 +594,7 @@ class DelegateTransformTest extends CompilableTestSupport {
try {
assertScript '''import groovy.transform.ASTTest
- @ASTTest(phase=CompilePhase.CANONICALIZATION, value={
+ @ASTTest(phase=CANONICALIZATION, value={
def fieldNode = node.getDeclaredField('thingie')
def blowupMethod = node.getDeclaredMethod('blowup')
def mce = blowupMethod.code.expression
diff --git a/src/test/org/codehaus/groovy/transform/NewifyTransformBlackBoxTest.groovy b/src/test/org/codehaus/groovy/transform/NewifyTransformBlackBoxTest.groovy
index cecd483..f75213b 100644
--- a/src/test/org/codehaus/groovy/transform/NewifyTransformBlackBoxTest.groovy
+++ b/src/test/org/codehaus/groovy/transform/NewifyTransformBlackBoxTest.groovy
@@ -22,6 +22,7 @@ import gls.CompilableTestSupport
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
+
import java.util.Map.Entry
/**
@@ -32,7 +33,7 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
@Test
void testNewifyWithoutNamePattern() {
- final String classPart = """
+ final String classPart = """
final a = A('XyZ')
String foo(final x = null) { x?.toString() }
"""
@@ -67,12 +68,11 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
import groovy.transform.Canonical
import groovy.transform.CompileStatic
import groovy.lang.Newify
- import groovy.transform.ASTTest
import java.lang.StringBuilder
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
-
- @Canonical class TheClass { String classField }
-
+
+ @Canonical class TheClass { String classField }
+
@Newify(pattern=/[A-Z][A-Za-z0-9_]+/)
@CompileStatic
def newTheClassField() {
@@ -82,7 +82,7 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
sb.append(sb.capacity())
return sb
}
-
+
newTheClassField()
"""
@@ -100,20 +100,19 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
import groovy.transform.Canonical
import groovy.transform.CompileStatic
import groovy.lang.Newify
- import groovy.transform.ASTTest
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
-
- @Canonical class A { String a }
- @Canonical class AB { String a; String b }
- @Canonical class ABC { String a; String b; String c }
-
+
+ @Canonical class A { String a }
+ @Canonical class AB { String a; String b }
+ @Canonical class ABC { String a; String b; String c }
+
@Newify(pattern=/[A-Z].*/)
@CompileStatic
def createClassList() {
final l = [ A('2018-04-08'), AB("I am", "class AB"), ABC("A","B","C") ]
[ l.collect { it.getClass().getCanonicalName() }, l.collect { it.toString() } ]
}
-
+
createClassList()
"""
@@ -128,26 +127,25 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
@Test
void testInnerClassesNewifyWithNamePattern() {
- final String script = """
+ final String script = """
import groovy.transform.Canonical
import groovy.transform.CompileStatic
import groovy.lang.Newify
- import groovy.transform.ASTTest
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
-
+
@Newify(pattern=/[A-Z].*/)
class Foo {
- @Canonical class A { String a }
- @Canonical class AB { String a; String b }
- @Canonical class ABC { String a; String b; String c }
-
+ @Canonical class A { String a }
+ @Canonical class AB { String a; String b }
+ @Canonical class ABC { String a; String b; String c }
+
List createClassList() {
final l = [ A('2018-04-08'), AB("I am", "class AB"), ABC("A","B","C") ]
//final l = [ A(this, '2018-04-08'), AB(this, "I am", "class AB"), ABC(this, "A","B","C") ]
[ l.collect { it.getClass().getCanonicalName() }, l.collect { it.toString() } ]
}
}
-
+
final Foo foo = new Foo()
foo.createClassList()
"""
@@ -167,21 +165,20 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
import groovy.transform.Canonical
import groovy.transform.CompileStatic
import groovy.lang.Newify
- import groovy.transform.ASTTest
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
-
+
@Newify(pattern=/[A-Z].*/)
class Foo {
- @Canonical static class A { String a }
- @Canonical static class AB { String a; String b }
- @Canonical static class ABC { String a; String b; String c }
-
+ @Canonical static class A { String a }
+ @Canonical static class AB { String a; String b }
+ @Canonical static class ABC { String a; String b; String c }
+
List createClassList() {
final l = [ A('2018-04-08'), AB("I am", "class AB"), ABC("A","B","C") ]
[ l.collect { it.getClass().getCanonicalName() }, l.collect { it.toString() } ]
}
}
-
+
final Foo foo = new Foo()
foo.createClassList()
"""
@@ -200,9 +197,8 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
final String script = """
import groovy.transform.CompileStatic
import groovy.lang.Newify
- import groovy.transform.ASTTest
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
-
+
@Newify(pattern=/[A-Z].*/)
class Foo {
static class Foo {
@@ -213,7 +209,7 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
[ l.collect { it.getClass().getCanonicalName() }, l.collect { it.toString() } ]
}
}
-
+
final Foo foo = new Foo()
foo.createClassList()
"""
@@ -231,21 +227,20 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
import groovy.transform.Canonical
import groovy.transform.CompileStatic
import groovy.lang.Newify
- import groovy.transform.ASTTest
import java.lang.StringBuilder
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
- @Canonical class A { String a }
- @Canonical class AB { String a; String b }
- @Canonical class ABC { String a; String b; String c }
-
+ @Canonical class A { String a }
+ @Canonical class AB { String a; String b }
+ @Canonical class ABC { String a; String b; String c }
+
@Newify(pattern=/[A-Z][A-Za-z0-9_]*/)
@CompileStatic
def createClassList() {
final l = [ A('2018-04-08'), StringBuilder('*lol*'), AB("I am", "class AB"), ABC("A","B","C") ]
[ l.collect { it.getClass().getCanonicalName() }, l.collect { it.toString() } ]
}
-
+
createClassList()
"""
@@ -264,21 +259,20 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
import groovy.transform.Canonical
import groovy.transform.CompileStatic
import groovy.lang.Newify
- import groovy.transform.ASTTest
import java.lang.StringBuilder
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
-
- @Canonical class A { String a }
- @Canonical class AB { String a; String b }
- @Canonical class ABC { String a; String b; String c }
-
+
+ @Canonical class A { String a }
+ @Canonical class AB { String a; String b }
+ @Canonical class ABC { String a; String b; String c }
+
@Newify(pattern=/[A-Z][A-Za-z0-9_]*/)
@CompileStatic
def createClassList() {
final l = [ A('2018-04-08'), StringBuilder('*lol*'), AB("I am", "class AB"), ABC("A","B","C"), Object() ]
[ l.collect { it.getClass().getName() }, l.collect { it.toString().replaceAll(/@[a-f0-9]+\\b/,'') } ]
}
-
+
createClassList()
"""
@@ -297,26 +291,25 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
import groovy.transform.Canonical
import groovy.transform.CompileStatic
import groovy.lang.Newify
- import groovy.transform.ASTTest
import java.lang.StringBuilder
import groovy.lang.Binding
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
-
- @Canonical class A { String a }
- @Canonical class AB { String a; String b }
- @Canonical class ABC { String a; String b; String c }
-
+
+ @Canonical class A { String a }
+ @Canonical class AB { String a; String b }
+ @Canonical class ABC { String a; String b; String c }
+
@Newify(pattern=/[A-Z][A-Za-z0-9_]*/)
@CompileStatic
def createClassList() {
- final l = [
+ final l = [
A('2018-04-08'), StringBuilder('*lol*'), AB("I am", "class AB"), ABC("A","B","C"), Object(),
Reference(), Binding(), Double(123.456d), Integer(987), BigInteger('987654321',10),
BigDecimal('1234.5678')
]
[ l.collect { it.getClass().getName() }, l.collect { it.toString().replaceAll(/@[a-f0-9]+\\b/,'') } ]
}
-
+
createClassList()
"""
@@ -341,7 +334,6 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
void testAliasImportedClassesNewifyWithNamePattern() {
final String script = """
import groovy.lang.Newify
- import groovy.transform.ASTTest
import java.lang.StringBuilder as WobblyOneDimensionalObjectBuilda
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
@@ -350,7 +342,7 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
final l = [ WobblyOneDimensionalObjectBuilda('Discrete Reality') ]
[ l.collect { it.getClass().getCanonicalName() }, l.collect { it.toString() } ]
}
-
+
createClassList()
"""
@@ -365,10 +357,9 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
@Test
void testAliasShadowededImportedClassesNewifyWithNamePatternFails() {
- final String script = """
+ final String script = """
import groovy.transform.CompileStatic
import groovy.lang.Newify
- import groovy.transform.ASTTest
import java.lang.StringBuilder as WobblyOneDimensionalObjectBuilda
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
@@ -378,7 +369,7 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
final l = [ WobblyOneDimensionalObjectBuilda('Discrete Reality'), StringBuilder('Quantum Loops') ]
[ l.collect { it.getClass().getCanonicalName() }, l.collect { it.toString() } ]
}
-
+
createClassList()
"""
@@ -391,10 +382,9 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
@Test
void testInvalidNamePatternNewifyWithNamePatternFails() {
- final String script = """
+ final String script = """
import groovy.transform.CompileStatic
import groovy.lang.Newify
- import groovy.transform.ASTTest
import java.lang.StringBuilder as WobblyOneDimensionalObjectBuilda
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
@@ -404,7 +394,7 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
final l = [ WobblyOneDimensionalObjectBuilda('Discrete Reality'), StringBuilder('Quantum Loops') ]
[ l.collect { it.getClass().getCanonicalName() }, l.collect { it.toString() } ]
}
-
+
createClassList()
"""
@@ -497,22 +487,21 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
import groovy.lang.Newify
import java.lang.StringBuilder
import groovy.lang.Binding
- import groovy.transform.ASTTest
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
-
+
$newifyAnnotation
${compileStaticOrDynamicCls()}
class Foo {
- @Canonical static class A { String a }
- @Canonical static class AB { String a; String b }
- @Canonical static class ABC { String a; String b; String c }
-
+ @Canonical static class A { String a }
+ @Canonical static class AB { String a; String b }
+ @Canonical static class ABC { String a; String b; String c }
+
List createClassList() {
final l = [ A('2018-04-08'), AB("I am", "class AB"), ABC("A","B","C") ]
[ l.collect { it.getClass().getCanonicalName() }, l.collect { it.toString() } ]
}
}
-
+
final Foo foo = new Foo()
foo.createClassList()
"""
@@ -550,18 +539,17 @@ class NewifyTransformBlackBoxTest extends CompilableTestSupport {
import groovy.transform.Canonical
import groovy.transform.CompileStatic
import groovy.lang.Newify
- import groovy.transform.ASTTest
import static org.codehaus.groovy.control.CompilePhase.SEMANTIC_ANALYSIS
- @Canonical class A { String a }
- @Canonical class AB { String a; String b }
- @Canonical class ABC { String a; String b; String c }
+ @Canonical class A { String a }
+ @Canonical class AB { String a; String b }
+ @Canonical class ABC { String a; String b; String c }
@CompileStatic
${hasAnnotation ? "@Newify${annotationParametersTerm}" : ''}
class $newifyTestClassName {
$classPart
- }
+ }
$scriptPart
"""