package org.oddjob.script; import junit.framework.TestCase; import org.oddjob.Oddjob; import org.oddjob.OddjobLookup; import org.oddjob.arooa.convert.ArooaConversionException; import org.oddjob.arooa.reflect.ArooaPropertyException; import org.oddjob.arooa.xml.XMLConfiguration; import org.oddjob.state.ParentState; public class ScriptAndInvokeTest extends TestCase { public void testVariableFromJava() throws ArooaPropertyException, ArooaConversionException { String xml = "<oddjob>" + " <job>" + " <sequential>" + " <jobs>" + " <script id='s' language='JavaScript'>" + " <input>" + " <buffer>" + "function snack() {" + " return 'apple'}" + " </buffer>" + " </input>" + " </script>" + " <variables id='v'>" + " <snack>" + " <invoke function='snack'>" + " <source>" + " <value value='${s.invocable}'/>"+ " </source>" + " </invoke>" + " </snack>" + " </variables>" + " </jobs>" + " </sequential>" + " </job>" + "</oddjob>"; Oddjob oj = new Oddjob(); oj.setConfiguration(new XMLConfiguration("XML", xml)); oj.run(); assertEquals(ParentState.COMPLETE, oj.lastStateEvent().getState()); String snack = new OddjobLookup(oj).lookup("v.snack", String.class); assertEquals("apple", snack); } }