1 9 10 package test.dom4j; 11 12 import junit.framework.Test; 13 import junit.framework.TestSuite; 14 import junit.textui.TestRunner; 15 import org.dom4j.Document; 16 import org.dom4j.Element; 17 import org.ozoneDB.xml.dom4j.O3DocumentHelper; 18 19 24 public class TestDetach extends AbstractTestCase { 25 26 public static void main( String [] args ) { 27 TestRunner.run( suite() ); 28 } 29 30 public static Test suite() { 31 return new TestSuite( TestDetach.class ); 32 } 33 34 public TestDetach(String name) { 35 super(name); 36 } 37 38 public void testRoot() throws Exception { 41 document.setName( "doc1" ); 42 43 Element root = document.getRootElement(); 44 assertTrue( "Has root element", root != null ); 45 assertTrue( "Root has no parent", root.getParent() == null ); 46 47 root.detach(); 48 49 assertTrue( "Detached root now has no document", root.getDocument() == null ); 50 assertTrue( "Original doc now has no root element", document.getRootElement() == null ); 51 52 Document doc2 = O3DocumentHelper.createDocument(); 53 doc2.setName( "doc2" ); 54 55 assertTrue( "Doc2 has no root element", doc2.getRootElement() == null ); 56 57 doc2.setRootElement( root ); 58 59 assertTrue( "Doc2 has now has root element", doc2.getRootElement() == root ); 60 assertTrue( "Root element now has document", root.getDocument() == doc2 ); 61 62 63 Document doc3 = O3DocumentHelper.createDocument(); 64 doc3.setName( "doc3" ); 65 doc3.addElement( "foo" ); 66 67 assertTrue( "Doc3 has root element", doc3.getRootElement() != null ); 68 69 root = doc2.getRootElement(); 70 root.detach(); 71 doc3.setRootElement( root ); 72 73 assertTrue( "Doc3 now has root element", doc3.getRootElement() == root ); 74 assertTrue( "Root element now has a document", root.getDocument() == doc3 ); 75 assertTrue( "Doc2 has no root element", doc2.getRootElement() == null ); 76 } 77 } 78 79 80 81 82 126 | Popular Tags |