1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.configuration.tree.xpath;
18
19 import static org.junit.Assert.assertEquals;
20
21 import java.util.List;
22 import java.util.Locale;
23
24 import org.apache.commons.configuration.tree.ConfigurationNode;
25 import org.apache.commons.configuration.tree.DefaultConfigurationNode;
26 import org.apache.commons.jxpath.ri.QName;
27 import org.apache.commons.jxpath.ri.model.NodePointer;
28 import org.junit.Before;
29 import org.junit.Test;
30
31
32
33
34
35
36
37
38
39 public class TestConfigurationIteratorAttributes extends AbstractXPathTest
40 {
41
42 private static final String TEST_ATTR = "test";
43
44
45 NodePointer pointer;
46
47 @Override
48 @Before
49 public void setUp() throws Exception
50 {
51 super.setUp();
52
53
54 ConfigurationNode testNode = root.getChild(1);
55 testNode.addAttribute(new DefaultConfigurationNode(TEST_ATTR, "yes"));
56 pointer = new ConfigurationNodePointer(testNode, Locale.getDefault());
57 }
58
59
60
61
62 @Test
63 public void testIterateAllAttributes()
64 {
65 ConfigurationNodeIteratorAttribute it = new ConfigurationNodeIteratorAttribute(pointer, new QName(null, "*"));
66 assertEquals("Wrong number of attributes", 2, iteratorSize(it));
67 List<ConfigurationNode> attrs = iterationElements(it);
68 assertEquals("Wrong first attribute", ATTR_NAME, attrs.get(0).getName());
69 assertEquals("Wrong first attribute", TEST_ATTR, attrs.get(1).getName());
70 }
71
72
73
74
75 @Test
76 public void testIterateSpecificAttribute()
77 {
78 ConfigurationNodeIteratorAttribute it = new ConfigurationNodeIteratorAttribute(pointer, new QName(null, TEST_ATTR));
79 assertEquals("Wrong number of attributes", 1, iteratorSize(it));
80 assertEquals("Wrong attribute", TEST_ATTR, iterationElements(it).get(0).getName());
81 }
82
83
84
85
86 @Test
87 public void testIterateUnknownAttribute()
88 {
89 ConfigurationNodeIteratorAttribute it = new ConfigurationNodeIteratorAttribute(pointer, new QName(null, "unknown"));
90 assertEquals("Found attributes", 0, iteratorSize(it));
91 }
92
93
94
95
96
97 @Test
98 public void testIterateNamespace()
99 {
100 ConfigurationNodeIteratorAttribute it = new ConfigurationNodeIteratorAttribute(pointer, new QName("test", "*"));
101 assertEquals("Found attributes", 0, iteratorSize(it));
102 }
103 }