1 package org.netbeans.modules.xml.schema.model.impl.xdm; 2 3 import java.util.Iterator ; 4 import javax.swing.text.Document ; 5 import junit.framework.*; 6 import org.netbeans.modules.xml.schema.model.*; 7 import org.netbeans.modules.xml.schema.model.impl.GlobalElementImpl; 8 import org.netbeans.modules.xml.schema.model.impl.SchemaImpl; 9 import org.netbeans.modules.xml.xam.dom.AbstractDocumentModel; 10 import org.w3c.dom.Node ; 11 12 16 public class RenameTest extends TestCase { 17 18 public RenameTest(String testName) { 19 super(testName); 20 } 21 22 23 24 27 public void testRenameGlobalElement() throws Exception { 28 SchemaModel model = Util.loadSchemaModel("resources/CutPasteTest_before.xsd"); 30 SchemaImpl schema = (SchemaImpl) model.getSchema(); 31 Node schemaNode = schema.getPeer(); 32 GlobalElementImpl gei = (GlobalElementImpl) schema.getElements().iterator().next(); 33 34 assertEquals("testRenameGlobalElement.schema", 1, schema.getChildren().size()); 35 assertEquals("testRenameGlobalElement.schema.node", 3, schemaNode.getChildNodes().getLength()); 36 37 41 model.startTransaction(); 42 gei.setName("NewName"); 43 model.endTransaction(); 44 45 model.sync(); 46 47 SchemaImpl changedSchema = (SchemaImpl) model.getSchema(); 48 GlobalElementImpl changedGei = (GlobalElementImpl) changedSchema.getElements().iterator().next(); 49 Node changedGeiNode = changedGei.getPeer(); 50 51 assertEquals("testRenameGlobalElement.firstRename.Gei", "NewName", changedGei.getName()); 52 assertEquals("testRenameGlobalElement.firstRename.GeiNode", "NewName", 53 changedGeiNode.getAttributes().item(0).getNodeValue()); 54 55 59 model.startTransaction(); 60 changedGei.setName("NewName2"); 61 model.endTransaction(); 62 63 model.sync(); 64 65 SchemaImpl changedSchema2 = (SchemaImpl) model.getSchema(); 66 GlobalElementImpl changedGei2 = (GlobalElementImpl) changedSchema2.getElements().iterator().next(); 67 Node changedGeiNode2 = changedGei2.getPeer(); 68 69 assertEquals("testRenameGlobalElement.secondRename.Gei2", "NewName2", changedGei2.getName()); 70 assertEquals("testRenameGlobalElement.secondRename.Geinode2", "NewName2", 71 changedGeiNode2.getAttributes().item(0).getNodeValue()); 72 73 } 77 78 public void testRenameGlobalElementAfterCopy() throws Exception { 79 81 88 SchemaModel model = Util.loadSchemaModel("resources/RenameTestRename_before.xsd"); 89 90 SchemaImpl schema = (SchemaImpl) model.getSchema(); 91 Document doc = AbstractDocumentModel.class.cast(model).getBaseDocument(); 92 93 Iterator it = schema.getElements().iterator(); 94 GlobalElementImpl ge1 = (GlobalElementImpl) it.next(); 95 GlobalElementImpl ge2 = (GlobalElementImpl) it.next(); 96 assertEquals("testRenameGlobalElementAfterCopy.secondRename.ge1", 97 "OrgChart", ge1.getName()); 98 assertEquals("testRenameGlobalElementAfterCopy.secondRename.ge2", 99 "OrgChart", ge2.getName()); 100 101 105 Util.setDocumentContentTo(doc, "resources/RenameTestRename_after.xsd"); 106 model.sync(); 107 108 Iterator it1 = schema.getElements().iterator(); 109 ge1 = (GlobalElementImpl) it1.next(); 110 ge2 = (GlobalElementImpl) it1.next(); 111 assertEquals("testRenameGlobalElementAfterCopy.secondRename.ge1", 112 "OrgChart1", ge1.getName()); 113 assertEquals("testRenameGlobalElementAfterCopy.secondRename.ge2", 114 "OrgChart2", ge2.getName()); 115 } 116 117 protected void tearDown() throws Exception { 118 super.tearDown(); 119 TestCatalogModel.getDefault().clearDocumentPool(); 120 } 121 122 } 123 | Popular Tags |