import org.tigris.juxy.JuxyTestCase;
import org.tigris.juxy.util.DOMUtil;
import org.w3c.dom.Node;
/**
* This sample demostrates how to work with parameters and variables in Juxy.
*/
public class ParametersTestCase extends JuxyTestCase {
protected void setUp() throws Exception {
newContext("samples/xsl/parameters.xsl");
}
public void testTemplateParameter_SimpleValue() throws Exception {
context().setDocument("<root/>");
context().setTemplateParamValue("param1", "value1");
Node result = callTemplate("template-parameter");
print(result);
assertEquals("value1", DOMUtil.innerText(result));
}
public void testTemplateParameter_DocumentValue() throws Exception {
context().setDocument("<root/>");
context().setTemplateParamValue("param1", DOMUtil.parse("<doc>some text</doc>"));
Node result = callTemplate("template-parameter");
print(result);
assertEquals("some text", DOMUtil.innerText(result));
}
public void testTemplateParameter_XPathValue() throws Exception {
context().setDocument("" +
"<root>" +
"<node1>node1</node1>" +
"<node2>node2</node2>" +
"</root>");
context().setTemplateParamValue("param1", xpath("/root/node2"));
Node result = callTemplate("template-parameter");
print(result);
assertEquals("node2", DOMUtil.innerText(result));
}
public void testGlobalVariableRedefinition() throws Exception {
context().setDocument("<root/>");
context().setGlobalVariableValue("globalVar", "another value");
Node result = callTemplate("template-global-variable");
print(result);
assertEquals("another value", DOMUtil.innerText(result));
}
public void testGlobalParameterRedefinition() throws Exception {
context().setDocument("<root/>");
context().setGlobalParamValue("globalParam", "some value");
Node result = callTemplate("template-global-parameter");
print(result);
assertEquals("some value", DOMUtil.innerText(result));
}
}