1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/**
* $RCSfile$
* $Revision
* $Date$
*
* Copyright (C) 1999-2004 Jive Software. All rights reserved.
*
* This software is the proprietary information of Jive Software. Use is subject to license terms.
*/
package org.jivesoftware.util;
import junit.framework.TestCase;
import java.io.ByteArrayInputStream;
import java.util.Iterator;
public class XMLPropertiesTest extends TestCase {
public void testAttributes() throws Exception {
String xml = "<root><foo></foo></root>";
XMLProperties props = new XMLProperties(new ByteArrayInputStream(xml.getBytes()));
assertNull(props.getAttribute("foo","bar"));
xml = "<root><foo bar=\"test123\"></foo></root>";
props = new XMLProperties(new ByteArrayInputStream(xml.getBytes()));
assertEquals(props.getAttribute("foo","bar"), "test123");
}
public void testGetProperty() throws Exception {
XMLProperties props = new XMLProperties(
"./resources/org/jivesoftware/util/XMLProperties.test01.xml");
assertEquals("123", props.getProperty("foo.bar"));
assertEquals("456", props.getProperty("foo.bar.baz"));
assertNull(props.getProperty("foo"));
assertNull(props.getProperty("nothing.something"));
}
public void testGetChildPropertiesIterator() throws Exception {
XMLProperties props = new XMLProperties(
"./resources/org/jivesoftware/util/XMLProperties.test02.xml");
String[] names = {"a","b","c","d"};
String[] values = {"1","2","3","4"};
String[] children = props.getChildrenProperties("foo.bar");
for (int i=0; i<children.length; i++) {
String prop = children[i];
assertEquals(names[i], prop);
String value = props.getProperty("foo.bar." + prop);
assertEquals(values[i], value);
i++;
}
}
}