KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > ditchnet > jsp > util > JspResponseWriterTest


1 /*
2  * The contents of this file are subject to the GNU Lesser General Public
3  * License Version 2.1 (the "License"); you may not use this file
4  * except in compliance with the License. You may obtain a copy of
5  * the License at http://www.gnu.org/copyleft/lesser.html
6  *
7  * Software distributed under the License is distributed on an "AS
8  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
9  * implied. See the License for the specific language governing
10  * rights and limitations under the License.
11  *
12  * Developer:
13  * Todd Ditchendorf, todd@ditchnet.org
14  *
15  */

16 package org.ditchnet.jsp.util;
17
18 import junit.framework.Test;
19 import junit.framework.TestSuite;
20 import junit.framework.TestCase;
21 import org.ditchnet.test.DitchBaseTestCase;
22 import org.ditchnet.xml.Xhtml;
23
24
25 public class JspResponseWriterTest extends DitchBaseTestCase {
26
27     JspResponseWriter writer;
28     StringBuffer JavaDoc buff;
29
30     public JspResponseWriterTest(String JavaDoc name) {
31         super(name);
32     }
33     
34     public void setUp() {
35         writer = new JspResponseWriter();
36         buff = writer.getBuffer();
37     }
38     
39     private void dump(String JavaDoc expected,StringBuffer JavaDoc buff) {
40         super.dump("expected:"+expected,"\n\nbuff:"+buff.toString());
41     }
42     
43     public void testStartElement() {
44         String JavaDoc expected = "\n<div";
45         writer.startElement(Xhtml.Tag.DIV);
46         //dump(expected,buff);
47
assertEquals(expected,buff.toString());
48     }
49     
50     public void testPrettyPrinting() {
51         String JavaDoc expected = "\n<html>\n\t<head>\n\t<title>\n\t</title>\n\t" +
52                             "</head>\n\t</html>";
53         writer.startElement(Xhtml.Tag.HTML);
54         writer.startElement(Xhtml.Tag.HEAD);
55         writer.startElement(Xhtml.Tag.TITLE);
56         writer.endElement(Xhtml.Tag.TITLE);
57         writer.endElement(Xhtml.Tag.HEAD);
58         writer.endElement(Xhtml.Tag.HTML);
59     }
60     
61     public void testFalseArgConstructor() {
62         String JavaDoc expected = "<div><img border=\"1\" /></div><!-- " +
63                             "xul is cool -->";
64         JspResponseWriter writer = new JspResponseWriter(false);
65         StringBuffer JavaDoc buff = writer.getBuffer();
66         writer.startElement(Xhtml.Tag.DIV);
67         writer.startElement(Xhtml.Tag.IMG);
68         writer.attribute(Xhtml.Attr.BORDER,"1");
69         writer.endElement(Xhtml.Tag.IMG);
70         writer.endElement(Xhtml.Tag.DIV);
71         writer.comment("xul is cool");
72         assertEquals(expected,buff.toString());
73     }
74     
75     public void testTrueArgConstructor() {
76         String JavaDoc expected = "\n<div>\n\t<img border=\"1\" />\n</div><!-- " +
77                             "xul is cool -->";
78         JspResponseWriter writer = new JspResponseWriter(true);
79         StringBuffer JavaDoc buff = writer.getBuffer();
80         writer.startElement(Xhtml.Tag.DIV);
81         writer.startElement(Xhtml.Tag.IMG);
82         writer.attribute(Xhtml.Attr.BORDER,"1");
83         writer.endElement(Xhtml.Tag.IMG);
84         writer.endElement(Xhtml.Tag.DIV);
85         writer.comment("xul is cool");
86         //dump(expected,buff);
87
assertEquals(expected,buff.toString());
88     }
89     
90     public void testEndElement() {
91         writer.endElement(Xhtml.Tag.SPAN);
92         assertEquals(buff.toString(),"\n</span>");
93     }
94     
95     public void testNSStartElement() {
96         String JavaDoc expected = "\n<html:body";
97         writer.startElement("html",Xhtml.Tag.BODY);
98         assertEquals(expected,buff.toString());
99     }
100     
101     public void testNSEndElement() {
102         String JavaDoc expected = "\n</xhtml:script>";
103         writer.endElement("xhtml",Xhtml.Tag.SCRIPT);
104         assertEquals(expected,buff.toString());
105     }
106     
107     public void testLineBreak() {
108         String JavaDoc expected = "\n";
109         writer.lineBreak();
110         assertEquals(expected,buff.toString());
111     }
112     
113     public void testTabStop() {
114         String JavaDoc expected = "\t";
115         writer.tabStop();
116         assertEquals(expected,buff.toString());
117     }
118     
119     public void testAttribute() {
120         String JavaDoc expected = "\n<input type=\"button\"";
121         writer.startElement(Xhtml.Tag.INPUT);
122         writer.attribute(Xhtml.Attr.TYPE,"button");
123         assertEquals(expected,buff.toString());
124     }
125     
126     public void testAttributeNS() {
127         String JavaDoc expected = "\n<div xml:lang=\"en-uk\">\n</div>";
128         writer.startElement(Xhtml.Tag.DIV);
129         writer.attribute("xml",Xhtml.Attr.LANG,"en-uk");
130         writer.lineBreak();
131         writer.endElement(Xhtml.Tag.DIV);
132     }
133     
134     public void testIllegalStateAttribute() {
135         try {
136             writer.attribute(Xhtml.Attr.TYPE,"text");
137             fail("Should have thrown IllegalStateException for illegal " +
138                     "attribute");
139         } catch (IllegalStateException JavaDoc expected) {
140             assertTrue(true);
141         }
142     }
143     
144     public void testNullAttributeName() {
145         writer.startElement(Xhtml.Tag.INPUT);
146         try {
147             writer.attribute(null,"12");
148             fail("Should have thrown NullPointerException for null attribute" +
149                     " name");
150         } catch (NullPointerException JavaDoc expected) {
151             assertTrue(true);
152         }
153     }
154     
155     public void testText() {
156         String JavaDoc expected = "\n<html>hey dude";
157         writer.startElement(Xhtml.Tag.HTML);
158         writer.text("hey dude");
159         assertEquals(expected,buff.toString());
160     }
161     
162     public void testNullText() {
163         try {
164             writer.text(null);
165             fail("Should have thrown NullPointerException for null text");
166         } catch (NullPointerException JavaDoc expected) {
167             assertTrue(true);
168         }
169     }
170
171     public void testComment() {
172         String JavaDoc expected = "\n<body><!-- cool man -->";
173         writer.startElement(Xhtml.Tag.BODY);
174         writer.comment("cool man");
175         assertEquals(expected,buff.toString());
176     }
177     
178     public void testNullComment() {
179         try {
180             writer.comment(null);
181             fail("Should have thrown NullPointerException for null comment");
182         } catch (NullPointerException JavaDoc expected) {
183             assertTrue(true);
184         }
185     }
186     
187     public void testEmptyElement() {
188         String JavaDoc expected = "\n<img alt=\"a picture\" />\n<span>\n</span>";
189         writer.startElement(Xhtml.Tag.IMG);
190         writer.attribute(Xhtml.Attr.ALT,"a picture");
191         writer.endElement(Xhtml.Tag.IMG);
192         writer.startElement(Xhtml.Tag.SPAN);
193         writer.text("");
194         writer.endElement(Xhtml.Tag.SPAN);
195         //dump(expected,buff);
196
assertEquals(expected,buff.toString());
197     }
198     
199     public void testLineBreakCreatesNonEmptyElement() {
200         String JavaDoc expected = "\n<span>\n\n</span>\n<div lang=\"us-en\">\n\n</div>";
201         writer.startElement(Xhtml.Tag.SPAN);
202         writer.lineBreak();
203         writer.endElement(Xhtml.Tag.SPAN);
204         writer.startElement(Xhtml.Tag.DIV);
205         writer.attribute(Xhtml.Attr.LANG,"us-en");
206         writer.lineBreak();
207         writer.endElement(Xhtml.Tag.DIV);
208         //dump(expected,buff);
209
assertEquals(expected,buff.toString());
210     }
211     
212     public void testTabStopCreatesNonEmptyElement() {
213         String JavaDoc expected = "\n<span>\t\n</span>";
214         writer.startElement(Xhtml.Tag.SPAN);
215         writer.tabStop();
216         writer.endElement(Xhtml.Tag.SPAN);
217         //dump(expected,buff);
218
assertEquals(expected,buff.toString());
219     }
220     
221     public static Test suite() {
222         return new TestSuite(JspResponseWriterTest.class);
223     }
224
225 }
Popular Tags