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 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 e ) { 69 e.printStackTrace(); 70 fail("No exception expected."); 71 } 72 } 73 } 74 | Popular Tags |