KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > opensymphony > module > sitemesh > html > tokenizer > MockTokenHandler


1 package com.opensymphony.module.sitemesh.html.tokenizer;
2
3 import com.opensymphony.module.sitemesh.html.Tag;
4 import com.opensymphony.module.sitemesh.html.Text;
5 import junit.framework.Assert;
6
7 class MockTokenHandler implements TokenHandler {
8
9     private StringBuffer JavaDoc expected = new StringBuffer JavaDoc();
10     private StringBuffer JavaDoc actual = new StringBuffer JavaDoc();
11
12     public void expectText(String JavaDoc tag) {
13         expected.append(tag);
14     }
15
16     public void expectTag(int type, String JavaDoc tag) {
17         expectTag(type, tag, new String JavaDoc[0]);
18     }
19
20     public void expectTag(int type, String JavaDoc tag, String JavaDoc[] attributes) {
21         expected.append("{{TAG : ").append(tag);
22         for (int i = 0; i < attributes.length; i+=2) {
23             expected.append(' ').append(attributes[i]).append("=\"").append(attributes[i + 1]).append('"');
24         }
25         expected.append(' ').append(typeAsString(type)).append("}}");
26     }
27
28     public boolean shouldProcessTag(String JavaDoc name) {
29         return true;
30     }
31
32     public void tag(Tag tag) {
33         actual.append("{{TAG : ").append(tag.getName());
34         for (int i = 0; i < tag.getAttributeCount(); i++) {
35             actual.append(' ').append(tag.getAttributeName(i)).append("=\"").append(tag.getAttributeValue(i)).append('"');
36         }
37         actual.append(' ').append(typeAsString(tag.getType())).append("}}");
38     }
39
40     public void text(Text text) {
41         actual.append(text.getContents());
42     }
43
44     public void warning(String JavaDoc message, int line, int column) {
45         Assert.fail("Encountered error: " + message);
46     }
47
48     public void verify() {
49         Assert.assertEquals(expected.toString(), actual.toString());
50     }
51
52     private String JavaDoc typeAsString(int type) {
53         switch (type) {
54             case Tag.OPEN: return "*open*";
55             case Tag.CLOSE: return "*close*";
56             case Tag.EMPTY: return "*empty*";
57             default: return "*unknown*";
58         }
59     }
60
61 }
62
Popular Tags