01: // Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved.
02: // Released under the terms of the GNU General Public License version 2 or later.
03: package fitnesse.html;
04:
05: import junit.framework.TestCase;
06:
07: public class HtmlTagTest extends TestCase {
08: public static String endl = HtmlElement.endl;
09: private HtmlTag tag;
10:
11: public void setUp() throws Exception {
12: tag = new HtmlTag("sillytag");
13: }
14:
15: public void tearDown() throws Exception {
16: }
17:
18: public void testEmpty() throws Exception {
19: assertEquals("<sillytag/>" + endl, tag.html());
20: }
21:
22: public void testWithText() throws Exception {
23: tag.add("some text");
24: assertEquals("<sillytag>some text</sillytag>" + endl, tag
25: .html());
26: }
27:
28: public void testEmbeddedTag() throws Exception {
29: tag.add(new HtmlTag("innertag"));
30:
31: String expected = "<sillytag>" + endl + "\t<innertag/>" + endl
32: + "</sillytag>" + endl;
33:
34: assertEquals(expected, tag.html());
35: }
36:
37: public void testAttribute() throws Exception {
38: tag.addAttribute("key", "value");
39: assertEquals("<sillytag key=\"value\"/>" + endl, tag.html());
40: }
41:
42: public void testCombination() throws Exception {
43: tag.addAttribute("mykey", "myValue");
44: HtmlTag inner = new HtmlTag("inner");
45: inner.add(new HtmlTag("beforetext"));
46: inner.add("inner text");
47: inner.add(new HtmlTag("aftertext"));
48: tag.add(inner);
49:
50: String expected = "<sillytag mykey=\"myValue\">" + endl
51: + "\t<inner>" + endl + "\t\t<beforetext/>" + endl
52: + "inner text" + endl + "\t\t<aftertext/>" + endl
53: + "\t</inner>" + endl + "</sillytag>" + endl;
54:
55: assertEquals(expected, tag.html());
56: }
57:
58: public void testNoEndTabWithoutChildrenTags() throws Exception {
59: HtmlTag subtag = new HtmlTag("subtag");
60: subtag.add("content");
61: tag.add(subtag);
62:
63: String expected = "<sillytag>" + endl
64: + "\t<subtag>content</subtag>" + endl + "</sillytag>"
65: + endl;
66:
67: assertEquals(expected, tag.html());
68: }
69:
70: public void testTwoChildren() throws Exception {
71: tag.add(new HtmlTag("tag1"));
72: tag.add(new HtmlTag("tag2"));
73:
74: String expected = "<sillytag>" + endl + "\t<tag1/>" + endl
75: + "\t<tag2/>" + endl + "</sillytag>" + endl;
76:
77: assertEquals(expected, tag.html());
78: }
79:
80: public void testUse() throws Exception {
81: tag.add("original");
82: tag.use("new");
83: assertEquals("<sillytag>new</sillytag>" + endl, tag.html());
84: }
85: }
|