package org.tigris.juxy.xpath; import junit.framework.TestCase; import org.tigris.juxy.XSLTKeys; import org.tigris.juxy.util.DOMUtil; /** * $Id: UTestJavaxXPathExpr.java,v 1.3 2006-10-31 11:01:24 pavelsher Exp $ * * @author Pavel Sher */ public class UTestJavaxXPathExpr extends TestCase { public void testAddNamespace() throws Exception { new JavaxXPathExpr("/xsl:template[ax:root]").addNamespace("xsl", XSLTKeys.XSLT_NS) .addNamespace("ss", "http://juxy.tigris.org"); } public void testEmptyDocument() throws Exception { try { new JavaxXPathExpr("true()").toBoolean(null); fail("An exception expected"); } catch (IllegalArgumentException ex) { } try { new JavaxXPathExpr("true()").toBoolean(DOMUtil.newDocument()); } catch (IllegalArgumentException ex) { } } public void testToBoolean() throws Exception { assertTrue(new JavaxXPathExpr("true()").toBoolean(DOMUtil.parse("<source/>"))); assertFalse(new JavaxXPathExpr("false()").toBoolean(DOMUtil.parse("<source/>"))); assertTrue(new JavaxXPathExpr("source").toBoolean(DOMUtil.parse("<source/>"))); assertFalse(new JavaxXPathExpr("root").toBoolean(DOMUtil.parse("<source/>"))); assertTrue(new JavaxXPathExpr("source/text()").toBoolean(DOMUtil.parse("<source>aaa<root/></source>"))); assertFalse(new JavaxXPathExpr("//root/text()").toBoolean(DOMUtil.parse("<source>aaa<root/></source>"))); } public void testToString() throws Exception { assertEquals("", new JavaxXPathExpr("source").toString(DOMUtil.parse("<source/>"))); assertEquals("ggg", new JavaxXPathExpr("'ggg'").toString(DOMUtil.parse("<source/>"))); assertEquals("aaa", new JavaxXPathExpr("source").toString(DOMUtil.parse("<source>aaa</source>"))); assertEquals("aaa", new JavaxXPathExpr("string('aaa')").toString(DOMUtil.parse("<source/>"))); } public void testToNumber() throws Exception { assertEquals(3, new JavaxXPathExpr("1 + 2").toInt(DOMUtil.parse("<source/>"))); assertEquals(1, new JavaxXPathExpr("count(source)").toInt(DOMUtil.parse("<source/>"))); assertEquals(3.5, new JavaxXPathExpr("1 + 2.5").toDouble(DOMUtil.parse("<source/>")), 0.001); } public void testToNodeList() throws Exception { assertEquals(0, new JavaxXPathExpr("root").toNodeList(DOMUtil.parse("<source/>")).size()); assertEquals(1, new JavaxXPathExpr("source").toNodeList(DOMUtil.parse("<source/>")).size()); assertEquals(2, new JavaxXPathExpr("//source").toNodeList(DOMUtil.parse("<root><source/><source/></root>")).size()); } public void testToNode() throws Exception { assertNull(new JavaxXPathExpr("root").toNode(DOMUtil.parse("<source/>"))); assertEquals("source", new JavaxXPathExpr("source").toNode(DOMUtil.parse("<source/>")).getNodeName()); } }