KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > j2biz > pencil > test > el > TemplateClassFunctionTestCase


1 package com.j2biz.pencil.test.el;
2
3 import antlr.collections.AST;
4
5 import com.j2biz.pencil.el.TemplateTreeParser;
6 import com.j2biz.pencil.el.TemplateTreeParserTokenTypes;
7
8 import junit.framework.TestCase;
9
10 public class TemplateClassFunctionTestCase extends TestCase {
11
12     public void testClassFunctionCall( ) {
13         TemplateTreeParser parser = TemplateParserFactory
14                 .createParser("textBefore ${ class.lineNumber } afterText");
15
16         try {
17             parser.parseStart();
18             final AST root = parser.getAST();
19             assertEquals("root correct", root.getType(),
20                     TemplateTreeParserTokenTypes.TEMPLATE);
21             assertEquals("number of elements", root.getNumberOfChildren(), 3);
22
23             final AST before = root.getFirstChild();
24             assertEquals("before text node", before.getType(),
25                     TemplateTreeParserTokenTypes.TEXT);
26
27             final AST reference = before.getNextSibling();
28             assertEquals("classFunction", reference.getType(),
29                     TemplateTreeParserTokenTypes.CLASS_FUNCTION);
30             
31             final AST idName = reference.getFirstChild();
32             assertEquals("first child", idName.getText(), "lineNumber" );
33
34             final AST after = reference.getNextSibling();
35             assertEquals("after", after.getType(),
36                     TemplateTreeParserTokenTypes.TEXT);
37         } catch ( Exception JavaDoc e ) {
38             e.printStackTrace();
39             fail("No exception expected.");
40         }
41     }
42     
43     public void testClassAsPrefixOfVariableName( ) {
44         TemplateTreeParser parser = TemplateParserFactory
45                 .createParser("textBefore ${ classLineNumber } afterText");
46
47         try {
48             parser.parseStart();
49             final AST root = parser.getAST();
50             assertEquals("root correct", root.getType(),
51                     TemplateTreeParserTokenTypes.TEMPLATE);
52             assertEquals("number of elements", root.getNumberOfChildren(), 3);
53
54             final AST before = root.getFirstChild();
55             assertEquals("before text node", before.getType(),
56                     TemplateTreeParserTokenTypes.TEXT);
57
58             final AST reference = before.getNextSibling();
59             assertEquals("classFunction", reference.getType(),
60                     TemplateTreeParserTokenTypes.REFERENCE);
61             
62             final AST idName = reference.getFirstChild();
63             assertEquals("first child", idName.getText(), "classLineNumber" );
64
65             final AST after = reference.getNextSibling();
66             assertEquals("after", after.getType(),
67                     TemplateTreeParserTokenTypes.TEXT);
68         } catch ( Exception JavaDoc e ) {
69             e.printStackTrace();
70             fail("No exception expected.");
71         }
72     }
73 }
74
Popular Tags