1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.xml.secure;
19
20 import static org.junit.jupiter.api.Assertions.assertEquals;
21
22 import java.io.StringReader;
23
24 import javax.xml.xpath.XPathConstants;
25 import javax.xml.xpath.XPathFactory;
26
27 import org.junit.jupiter.api.Tag;
28 import org.junit.jupiter.api.Test;
29 import org.xml.sax.InputSource;
30
31 @Tag("xpath")
32 class SecureXPathExpressionTest {
33
34 @Test
35 void evaluatesEveryXPathExpressionOverload() throws Exception {
36 final SecureXPathExpression expression = new SecureXPathExpression(XPathFactory.newInstance().newXPath().compile("/root/text()"), false);
37 final InputSource source = new InputSource(new StringReader("<root>value</root>"));
38 assertEquals("value", expression.evaluate(source));
39 assertEquals("value", expression.evaluate(new InputSource(new StringReader("<root>value</root>")), XPathConstants.STRING));
40 assertEquals("value", expression.evaluate(org.apache.commons.xml.secure.SecureXPath.parse(new InputSource(new StringReader("<root>value</root>")), false)));
41 assertEquals("value",
42 expression.evaluate(SecureXPath.parse(new InputSource(new StringReader("<root>value</root>")), false), XPathConstants.STRING));
43 }
44 }