/* | |
* Copyright 2003-2008 the original author or authors. | |
* | |
* Licensed 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. | |
*/ | |
package org.codehaus.groovy.transform | |
/** | |
* @author Danno.Ferrin | |
* @author Alex Tkachman | |
*/ | |
class GlobalTransformTest extends GroovyShellTestCase { | |
URL transformRoot = new File(getClass().classLoader. | |
getResource("org/codehaus/groovy/transform/META-INF/services/org.codehaus.groovy.transform.ASTTransformation"). | |
toURI()).parentFile.parentFile.parentFile.toURL() | |
void testGlobalTransform() { | |
shell.classLoader.addURL(transformRoot) | |
shell.evaluate(""" | |
import org.codehaus.groovy.control.CompilePhase | |
if (org.codehaus.groovy.transform.TestTransform.phases == [CompilePhase.CONVERSION, CompilePhase.CLASS_GENERATION]) { | |
println "Phase sync bug fixed" | |
} else if (org.codehaus.groovy.transform.TestTransform.phases == [CompilePhase.CONVERSION, CompilePhase.INSTRUCTION_SELECTION]) { | |
println "Phase sync bug still present" | |
} else { | |
assert false, "FAIL" | |
} | |
""") | |
} | |
} |