1 7 8 package org.dom4j; 9 10 import junit.textui.TestRunner; 11 12 import org.dom4j.io.SAXReader; 13 import org.dom4j.util.UserDataAttribute; 14 import org.dom4j.util.UserDataDocumentFactory; 15 import org.dom4j.util.UserDataElement; 16 17 23 public class UserDataTest extends AbstractTestCase { 24 25 private static final String INPUT_XML_FILE = "/xml/web.xml"; 26 27 private Object userData = new Double (1.23456); 28 29 public static void main(String [] args) { 30 TestRunner.run(UserDataTest.class); 31 } 32 33 public void testSetData() throws Exception { 36 Element root = getRootElement(); 37 38 assertTrue("Element instanceof UserDataElement", 39 root instanceof UserDataElement); 40 41 root.setData(userData); 42 43 assertTrue("Stored user data!", root.getData() == userData); 44 45 log("root: " + root); 46 47 assertUserData(root, userData); 48 49 Element cloned = (Element) root.clone(); 50 assertTrue("Cloned new instance", cloned != root); 51 assertUserData(cloned, userData); 52 53 cloned = root.createCopy(); 54 assertTrue("Cloned new instance", cloned != root); 55 assertUserData(cloned, userData); 56 } 57 58 public void testCloneAttribute() throws Exception { 59 Element root = getRootElement(); 60 root.addAttribute("name", "value"); 61 62 Attribute attribute = root.attribute("name"); 63 assertTrue(attribute instanceof UserDataAttribute); 64 65 Element cloned = (Element) root.clone(); 66 Attribute clonedAttribute = cloned.attribute("name"); 67 assertTrue(clonedAttribute instanceof UserDataAttribute); 68 } 69 70 public void testNewAdditions() throws Exception { 71 Element root = getRootElement(); 72 73 Element newElement = root.addElement("foo1234"); 74 assertTrue("New Element is a UserDataElement", 75 newElement instanceof UserDataElement); 76 77 root.addAttribute("bar456", "123"); 78 79 Attribute newAttribute = root.attribute("bar456"); 80 81 assertTrue("New Attribute is a UserDataAttribute", 82 newAttribute instanceof UserDataAttribute); 83 } 84 85 public void testNewDocument() throws Exception { 86 DocumentFactory factory = UserDataDocumentFactory.getInstance(); 87 Document document = factory.createDocument(); 88 89 Element root = document.addElement("root"); 90 assertTrue("Root Element is a UserDataElement", 91 root instanceof UserDataElement); 92 93 Element newElement = root.addElement("foo1234"); 94 assertTrue("New Element is a UserDataElement", 95 newElement instanceof UserDataElement); 96 97 root.addAttribute("bar456", "123"); 98 99 Attribute newAttribute = root.attribute("bar456"); 100 101 assertTrue("New Attribute is a UserDataAttribute", 102 newAttribute instanceof UserDataAttribute); 103 } 104 105 protected void assertUserData(Element root, Object data) throws Exception { 108 Object result = root.getData(); 109 110 assertTrue("No user data!", result != null); 111 assertTrue("Stored user data correctly", data.equals(result)); 112 } 113 114 protected void setUp() throws Exception { 115 super.setUp(); 116 117 SAXReader reader = new SAXReader(); 118 reader.setDocumentFactory(UserDataDocumentFactory.getInstance()); 119 document = getDocument(INPUT_XML_FILE, reader); 120 } 121 } 122 123 159
| Popular Tags
|