org.apache.velocity.test

Class TemplateTestCase

Implemented Interfaces:
TemplateTestBase

public class TemplateTestCase
extends BaseTestCase
implements TemplateTestBase

Easily add test cases which evaluate templates and check their output. NOTE: This class DOES NOT extend RuntimeTestCase because the TemplateTestSuite already initializes the Velocity runtime and adds the template test cases. Having this class extend RuntimeTestCase causes the Runtime to be initialized twice which is not good. I only discovered this after a couple hours of wondering why all the properties being setup were ending up as Vectors. At first I thought it was a problem with the Configuration class, but the Runtime was being initialized twice: so the first time the property is seen it's stored as a String, the second time it's seen the Configuration class makes a Vector with both Strings. As a result all the getBoolean(property) calls were failing because the Configurations class was trying to create a Boolean from a Vector which doesn't really work that well. I have learned my lesson and now have to add some code to make sure the Runtime isn't initialized more then once :-)
Version:
$Id: TemplateTestCase.java,v 1.34.8.1 2004/03/03 23:23:04 geirm Exp $
Authors:
Daniel Rall
Jason van Zyl
Geir Magnusson Jr.
Jon S. Stevens

Field Summary

private ArrayList
al
protected String
baseFileName
The base file name of the template and comparison file (i.e.
private VelocityContext
context
private VelocityContext
context1
private VelocityContext
context2
private Hashtable
h
private TestProvider
provider
private Vector
vec

Fields inherited from class org.apache.velocity.test.BaseTestCase

perl

Fields inherited from interface org.apache.velocity.test.TemplateTestBase

CMP_FILE_EXT, COMPARE_DIR, FILE_RESOURCE_LOADER_PATH, RESULT_DIR, RESULT_FILE_EXT, TEST_CASE_PROPERTIES, TMPL_FILE_EXT

Constructor Summary

TemplateTestCase(String baseFileName)
Creates a new instance.

Method Summary

void
runTest()
Runs the test.
protected void
setUp()
Sets up the test.
static junit.framework.Test
suite()

Methods inherited from class org.apache.velocity.test.BaseTestCase

assureResultsDirectoryExists, getFileName, getTestCaseName, isMatch, normalizeNewlines

Field Details

al

private ArrayList al

baseFileName

protected String baseFileName
The base file name of the template and comparison file (i.e. array for array.vm and array.cmp).

context

private VelocityContext context

context1

private VelocityContext context1

context2

private VelocityContext context2

h

private Hashtable h

provider

private TestProvider provider

vec

private Vector vec

Constructor Details

TemplateTestCase

public TemplateTestCase(String baseFileName)
Creates a new instance.
Parameters:
baseFileName - The base name of the template and comparison file to use (i.e. array for array.vm and array.cmp).

Method Details

runTest

public void runTest()
Runs the test.

setUp

protected void setUp()
Sets up the test.

suite

public static junit.framework.Test suite()

Copyright B) 2002 Apache Software Foundation. All Rights Reserved.