1
2
3
4
5
6
7
8 package org.dom4j;
9
10 import junit.textui.TestRunner;
11
12 /***
13 * Tests the use of null attribute values
14 *
15 * @author <a href="mailto:jstrachan@apache.org">James Strachan </a>
16 * @version $Revision: 1.3 $
17 */
18 public class NullAttributesTest extends AbstractTestCase {
19 protected DocumentFactory factory = DocumentFactory.getInstance();
20
21 protected Document document = factory.createDocument();
22
23 protected Element element = document.addElement("root");
24
25 public static void main(String[] args) {
26 TestRunner.run(NullAttributesTest.class);
27 }
28
29
30
31 public void testStringNames() throws Exception {
32 element.addAttribute("foo", null);
33
34 Attribute attribute = element.attribute("foo");
35 assertTrue(attribute == null);
36
37 element.addAttribute("foo", "123");
38 attribute = element.attribute("foo");
39 assertTrue(attribute != null);
40
41 element.addAttribute("foo", null);
42 attribute = element.attribute("foo");
43 assertTrue(attribute == null);
44 }
45
46 public void testQNames() throws Exception {
47 QName bar = QName.get("bar");
48
49 element.addAttribute(bar, null);
50
51 Attribute attribute = element.attribute(bar);
52 assertTrue(attribute == null);
53
54 element.addAttribute(bar, "123");
55 attribute = element.attribute(bar);
56 assertTrue(attribute != null);
57
58 element.addAttribute(bar, null);
59 attribute = element.attribute(bar);
60 assertTrue(attribute == null);
61 }
62
63 public void testAttributes() throws Exception {
64 Attribute attribute = factory.createAttribute(element, "v", null);
65
66 assertTrue(attribute.getText() == null);
67 assertTrue(attribute.getValue() == null);
68
69 element.add(attribute);
70 attribute = element.attribute("v");
71 assertTrue(attribute == null);
72
73 attribute = factory.createAttribute(element, "v", "123");
74 element.add(attribute);
75 attribute = element.attribute("v");
76 assertTrue(attribute != null);
77
78 attribute = factory.createAttribute(element, "v", null);
79 element.add(attribute);
80 attribute = element.attribute("v");
81 assertTrue(attribute == null);
82 }
83 }
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120