/*
* (c) Rob Gordon 2005.
*/
package org.oddjob.script;
import junit.framework.TestCase;
import org.apache.log4j.Logger;
import org.oddjob.OddjobDescriptorFactory;
import org.oddjob.arooa.ArooaDescriptor;
import org.oddjob.arooa.ArooaParseException;
import org.oddjob.arooa.ArooaType;
import org.oddjob.arooa.design.DesignInstance;
import org.oddjob.arooa.design.DesignParser;
import org.oddjob.arooa.design.view.ViewMainHelper;
import org.oddjob.arooa.standard.StandardArooaSession;
import org.oddjob.arooa.xml.XMLConfiguration;
import org.oddjob.tools.OddjobTestHelper;
/**
*
*/
public class ScriptDFTest extends TestCase {
private static final Logger logger = Logger.getLogger(ScriptDFTest.class);
DesignInstance design;
public void setUp() {
logger.debug("========================== " + getName() + "===================" );
}
public void testCreate() throws ArooaParseException {
String xml =
"<script id='this' name='Test Script' language='JavaScript'" +
" resultVariable='result' resultForState='true'>" +
" <input>" +
" <buffer>" +
"println(\"Hello\");" +
" </buffer>" +
" </input>" +
" <beans>" +
" <value key='fruit' value='apple'/>" +
" </beans>" +
" <classLoader>" +
" <value value='${this.class.classLoader}'/>" +
" </classLoader>" +
"</script>";
ArooaDescriptor descriptor =
new OddjobDescriptorFactory().createDescriptor(null);
DesignParser parser = new DesignParser(
new StandardArooaSession(descriptor));
parser.setArooaType(ArooaType.COMPONENT);
parser.parse(new XMLConfiguration("TEST", xml));
design = parser.getDesign();
assertEquals(ScriptDesign.class, design.getClass());
ScriptJob test = (ScriptJob) OddjobTestHelper.createComponentFromConfiguration(
design.getArooaContext().getConfigurationNode());
assertEquals("JavaScript", test.getLanguage());
assertEquals("apple", test.getBeans("fruit"));
assertEquals("result", test.getResultVariable());
assertEquals(ScriptJob.class.getClassLoader(), test.getClassLoader());
assertEquals(true, test.isResultForState());
}
public static void main(String args[]) throws ArooaParseException {
ScriptDFTest test = new ScriptDFTest();
test.testCreate();
ViewMainHelper view = new ViewMainHelper(test.design);
view.run();
}
}