1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.jxpath.ri.compiler;
18
19 import org.apache.commons.jxpath.JXPathTestCase;
20 import org.apache.commons.jxpath.ri.Parser;
21
22
23
24
25
26
27
28 public class ContextDependencyTest extends JXPathTestCase {
29
30 public void testContextDependency() {
31 testContextDependency("1", false);
32 testContextDependency("$x", false);
33 testContextDependency("/foo", false);
34 testContextDependency("foo", true);
35 testContextDependency("/foo[3]", false);
36 testContextDependency("/foo[$x]", false);
37 testContextDependency("/foo[bar]", true);
38 testContextDependency("3 + 5", false);
39 testContextDependency("test:func(3, 5)", true);
40 testContextDependency("test:func(3, foo)", true);
41 }
42
43 public void testContextDependency(String xpath, boolean expected) {
44 Expression expr = (Expression) Parser.parseExpression(xpath, new TreeCompiler());
45
46 assertEquals("Context dependency <" + xpath + ">", expected, expr.isContextDependent());
47 }
48 }