KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > xdm > nodes > TextTest


1 /*
2  * TextTest.java
3  * JUnit based test
4  *
5  * Created on October 21, 2005, 2:21 PM
6  */

7
8 package org.netbeans.modules.xml.xdm.nodes;
9
10 import java.io.File JavaDoc;
11 import javax.xml.parsers.DocumentBuilder JavaDoc;
12 import javax.xml.parsers.DocumentBuilderFactory JavaDoc;
13 import javax.xml.transform.Transformer JavaDoc;
14 import javax.xml.transform.TransformerFactory JavaDoc;
15 import javax.xml.transform.dom.DOMSource JavaDoc;
16 import javax.xml.transform.stream.StreamResult JavaDoc;
17 import junit.framework.*;
18 import org.netbeans.modules.xml.xdm.Util;
19 import org.netbeans.modules.xml.xdm.XDMModel;
20
21 /**
22  *
23  * @author ajit
24  */

25 public class TextTest extends TestCase {
26     
27     public TextTest(String JavaDoc testName) {
28         super(testName);
29     }
30
31     protected void setUp() throws Exception JavaDoc {
32         baseDocument = Util.getResourceAsDocument("nodes/xdm.xml");
33         xmlModel = Util.loadXDMModel(baseDocument);
34         text = (Text)xmlModel.getDocument().getChildNodes().item(0).
35                 getChildNodes().item(1).getChildNodes().item(0);
36     }
37
38     public static Test suite() {
39         TestSuite suite = new TestSuite(TextTest.class);
40         
41         return suite;
42     }
43
44     /**
45      * Test of getNodeValue method, of class org.netbeans.modules.xml.xdm.nodes.Text.
46      */

47     public void testGetNodeValue() {
48         String JavaDoc expResult = "Vidhya Narayanan\n ";
49         String JavaDoc result = text.getNodeValue();
50         assertEquals(expResult, result);
51     }
52
53     /**
54      * Test of getNodeType method, of class org.netbeans.modules.xml.xdm.nodes.Text.
55      */

56     public void testGetNodeType() {
57         short expResult = org.w3c.dom.Node.TEXT_NODE;
58         short result = text.getNodeType();
59         assertEquals("getNodeType must return TEXT_NODE",expResult, result);
60     }
61
62     /**
63      * Test of getNodeName method, of class org.netbeans.modules.xml.xdm.nodes.Text.
64      */

65     public void testGetNodeName() {
66         String JavaDoc expResult = "#text";
67         String JavaDoc result = text.getNodeName();
68         assertEquals("getNodeName must return #text",expResult, result);
69     }
70
71     /**
72      * Test of getNamespaceURI method, of class org.netbeans.modules.xml.xdm.nodes.Text.
73      */

74     public void testGetNamespaceURI() {
75         
76         String JavaDoc result = text.getNamespaceURI();
77         assertNull(result);
78     }
79
80     /**
81      * Test of getText method, of class org.netbeans.modules.xml.xdm.nodes.Text.
82      */

83     public void testGetText() {
84         
85         String JavaDoc expResult = "Vidhya Narayanan\n ";
86         String JavaDoc result = text.getText();
87         assertEquals(expResult, result);
88     }
89
90     /**
91      * Test of setText method, of class org.netbeans.modules.xml.xdm.nodes.Text.
92      */

93     public void testSetText() {
94         String JavaDoc newText = "Another Person";
95         try {
96             text.setText(newText);
97             assertTrue("setText must throw exception for text node in tree",false);
98         } catch (Exception JavaDoc e) {
99             assertTrue(true);
100         }
101         Text newTextNode = (Text)text.clone(true,false,false);
102         try {
103             newTextNode.setText(newText);
104             assertTrue(true);
105         } catch (Exception JavaDoc e) {
106             assertTrue("setText must not throw exception for text node not in tree",false);
107         }
108         xmlModel.modify(text,newTextNode);
109         text = (Text)xmlModel.getDocument().getChildNodes().item(0).
110                 getChildNodes().item(1).getChildNodes().item(0);
111         assertEquals(newText, text.getText());
112     }
113     
114     public void testXmlEscapeText() throws Exception JavaDoc {
115         Element root = (Element) xmlModel.getDocument().getDocumentElement();
116         String JavaDoc textValue = "<mytext>Am I a \"text\" node or part of a 'text' node&?</mytext";
117         Text textNode = (Text) xmlModel.getCurrentDocument().createTextNode(textValue);
118         xmlModel.append(root, textNode);
119         xmlModel.flush();
120         File JavaDoc tempFile = Util.dumpToTempFile(baseDocument);
121         Util.setDocumentContentTo(baseDocument, tempFile);
122         xmlModel.sync();
123         root = (Element) xmlModel.getCurrentDocument().getDocumentElement();
124         Text last = (Text) root.getLastChild();
125         assertEquals("last should be text with same string value", textValue, last.getText().trim());
126     }
127
128     public void testXmlFragmentText() throws Exception JavaDoc {
129         Element root = (Element) xmlModel.getDocument().getDocumentElement();
130         String JavaDoc textValue = "I am a \"text\" node or part &lt;doc> of a 'text' node&?<test attr1=\"foo\"></test>";
131         root = (Element) xmlModel.setXmlFragmentText(root, textValue).get(0);
132         Text first = (Text) root.getChildNodes().item(0);
133         assertEquals("I am a \"text\" node or part <doc> of a 'text' node&?", first.getText());
134         Element second = (Element) root.getChildNodes().item(1);
135         assertEquals("test", second.getTagName());
136         assertEquals("foo", second.getAttribute("attr1"));
137         assertEquals(textValue, root.getXmlFragmentText());
138     }
139     
140     /*public void testDOMTextBehaviour() throws Exception {
141         DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance();
142         DocumentBuilder builder = fact.newDocumentBuilder();
143         org.w3c.dom.Document doc = builder.parse(Util.class.getResourceAsStream("nodes/xdm.xml"));
144         org.w3c.dom.Element root = doc.getDocumentElement();
145         String textValue = "<mytext>Am I a text node or part of a text node?</mytext>";
146         org.w3c.dom.Text textNode = doc.createTextNode(textValue);
147         root.appendChild(textNode);
148         File tempFile = File.createTempFile("xdm-tester-", null);
149         System.out.println("TEMP FILE is " + tempFile);
150         DOMSource s = new DOMSource();
151         s.setNode(doc);
152         Transformer t = TransformerFactory.newInstance().newTransformer();
153         StreamResult r = new StreamResult(tempFile);
154         t.transform(s, r);
155     }*/

156
157     private XDMModel xmlModel;
158     private Text text;
159     private javax.swing.text.Document JavaDoc baseDocument;
160 }
161
Popular Tags