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>" + "<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\">" + "<inner>"
51: + "<beforetext/>" + endl + "inner text"
52: + "<aftertext/>" + endl + "</inner>" + endl
53: + "</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>" + "<subtag>content</subtag>"
64: + endl + "</sillytag>" + endl;
65:
66: assertEquals(expected, tag.html());
67: }
68:
69: public void testTwoChildren() throws Exception {
70: tag.add(new HtmlTag("tag1"));
71: tag.add(new HtmlTag("tag2"));
72:
73: String expected = "<sillytag>" + "<tag1/>" + endl + "<tag2/>"
74: + endl + "</sillytag>" + endl;
75:
76: assertEquals(expected, tag.html());
77: }
78:
79: public void testUse() throws Exception {
80: tag.add("original");
81: tag.use("new");
82: assertEquals("<sillytag>new</sillytag>" + endl, tag.html());
83: }
84: }
|