blob: f3bbe2ca502dda80049b9ecef1e1a00e20301b70 [file] [log] [blame]
package org.codehaus.groovy.runtime;
import java.util.HashMap;
import groovy.lang.Binding;
import groovy.lang.GroovyClassLoader;
import groovy.lang.GroovyCodeSource;
import groovy.lang.Script;
import junit.framework.TestCase;
public class InvokerHelperTest extends TestCase {
private HashMap bindingVariables;
protected void setUp() throws Exception {
bindingVariables = new HashMap();
bindingVariables.put("name", "hans");
}
public void testCreateScriptWithNullClass() {
Script script = InvokerHelper.createScript(null, new Binding(bindingVariables));
assertEquals(bindingVariables, script.getBinding().getVariables());
}
public void testCreateScriptWithScriptClass() {
GroovyClassLoader classLoader = new GroovyClassLoader();
String controlProperty = "text";
String controlValue = "I am a script";
String code = controlProperty + " = '" + controlValue + "'";
GroovyCodeSource codeSource = new GroovyCodeSource(code, "testscript", "/groovy/shell");
Class scriptClass = classLoader.parseClass(codeSource, false);
Script script = InvokerHelper.createScript(scriptClass, new Binding(bindingVariables));
assertEquals(bindingVariables, script.getBinding().getVariables());
script.run();
assertEquals(controlValue, script.getProperty(controlProperty));
}
}