|
Groovy example source code file (GrapeClassLoaderTest.groovy)
The Groovy GrapeClassLoaderTest.groovy source codepackage groovy.grape /** * Created by IntelliJ IDEA. * User: Danno * Date: Jan 20, 2008 * Time: 5:14:11 PM */ class GrapeClassLoaderTest extends GroovyTestCase { public GrapeClassLoaderTest() { // insure files are installed locally Grape.resolve([autoDownload:true, classLoader:new GroovyClassLoader()], [groupId:'com.jidesoft', artifactId:'jide-oss', version:'[2.2.1,2.3)'], [groupId:'org.testng', artifactId:'testng', version:'5.8', classifier:'jdk15']) } public void testGrapes() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton @Grapes([@Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')]) public class TestConstructorAnnotation { String field public TestConstructorAnnotation() { field = JideSplitButton.class.name } }""") assert testClass.newInstance().field == 'com.jidesoft.swing.JideSplitButton' } public void testConstructorAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton public class TestConstructorAnnotation { String field @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') public TestConstructorAnnotation() { field = JideSplitButton.class.name } }""") assert testClass.newInstance().field == 'com.jidesoft.swing.JideSplitButton' } public void testClassFieldAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton public class TestClassFieldAnnotation { @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') private String field public TestClassFieldAnnotation() { field = JideSplitButton.class.name } public String testMethod() { return field } }""") assert testClass.newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton' } public void testClassPropertyAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton public class TestClassPropertyAnnotation { @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') String field public TestClassPropertyAnnotation() { field = JideSplitButton.class.name } public String testMethod() { return field } }""") assert testClass.newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton' } // annotations are discarded on local vars currently // public void testClassLocalVariableAnnotation() { // GroovyClassLoader loader = new GroovyClassLoader() // Class testClass = loader.parseClass(""" //import com.jidesoft.swing.JideSplitButton // // public class TestClassLocalVariableAnnotation { // // public String testMethod() { // @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') // String field = JideSplitButton.class.name // return field // } //}""") // assert testClass.newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton' // } // // annotations are discarded on local vars currently // public void testScriptLocalVariableAnnotation() { // GroovyClassLoader loader = new GroovyClassLoader() // Class testClass = loader.parseClass(""" //import com.jidesoft.swing.JideSplitButton // //@Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') //String field = JideSplitButton.class.name // // //String testMethod() { // return field //}""") // assert testClass.newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton' // } public void testClassStaticMethodAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton public class TestClassStaticMethodAnnotation { @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') public static String testMethod () { return JideSplitButton.class.name } }""") assert testClass.testMethod() == 'com.jidesoft.swing.JideSplitButton' } public void testClassMethodAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton public class TestClassMethodAnnotation { @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') public String testMethod () { return JideSplitButton.class.name } }""") assert testClass.newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton' } public void testScriptStaticMethodAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') public static String testMethod () { return JideSplitButton.class.name }""") assert testClass.testMethod() == 'com.jidesoft.swing.JideSplitButton' } public void testScriptMethodAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') public String testMethod () { return JideSplitButton.class.name }""") assert testClass.newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton' } public void testClassParameterAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton public class TestClassStaticMethodAnnotation { public String testMethod ( @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') String bogus ) { return JideSplitButton.class.name } }""") assert testClass.newInstance().testMethod('x') == 'com.jidesoft.swing.JideSplitButton' } public void testScriptParameterAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton public String testMethod ( @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') String bogus ) { println "Foo" return JideSplitButton.class.name }""") assert testClass.newInstance().testMethod('x') == 'com.jidesoft.swing.JideSplitButton' } public void testTypeAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') public class TestTypeAnnotation { public static String testMethod () { return JideSplitButton.class.name } }""") assert testClass.testMethod() == 'com.jidesoft.swing.JideSplitButton' } public void testFQNAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') public class TestFQNAnnotation { public static String testMethod () { return JideSplitButton.class.name } }""") assert testClass.testMethod() == 'com.jidesoft.swing.JideSplitButton' } public void testAliasedAnnotation() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import com.jidesoft.swing.JideSplitButton import groovy.lang.Grab as require_gem @require_gem(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)') public class TestAliasedAnnotation { public static String testMethod () { return JideSplitButton.class.name } }""") assert testClass.testMethod() == 'com.jidesoft.swing.JideSplitButton' } void testClassifier() { GroovyClassLoader loader = new GroovyClassLoader() Class testClass = loader.parseClass(""" import org.testng.TestNG @Grab(group = 'org.testng', module = 'testng', version = '5.8', classifier = 'jdk15') class TestTypeAnnotation { static String testMethod() { TestNG.name } }""") assert testClass.testMethod() == 'org.testng.TestNG' } } Other Groovy examples (source code examples)Here is a short list of links related to this Groovy GrapeClassLoaderTest.groovy source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.