Author: nbubna
Date: Wed Mar 11 18:54:28 2009
New Revision: 752570
URL: http://svn.apache.org/viewvc?rev=752570&view=rev
Log:
merge test improvements from trunk
Modified:
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/BaseTestCase.java
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/MacroForwardDefineTestCase.java
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/VMContextLocalscopeTestCase.java
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/misc/TestLogChute.java
Modified:
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/BaseTestCase.java
URL:
http://svn.apache.org/viewvc/velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/BaseTestCase.java?rev=752570&r1=752569&r2=752570&view=diff
==============================================================================
---
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/BaseTestCase.java
(original)
+++
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/BaseTestCase.java
Wed Mar 11 18:54:28 2009
@@ -33,6 +33,8 @@
import org.apache.velocity.util.StringUtils;
import org.apache.velocity.runtime.RuntimeConstants;
import org.apache.velocity.test.misc.TestLogChute;
+import org.apache.velocity.runtime.resource.loader.StringResourceLoader;
+import org.apache.velocity.runtime.resource.util.StringResourceRepository;
/**
* Base test case that provides utility methods for
@@ -87,6 +89,31 @@
// extension hook
}
+ protected StringResourceRepository getStringRepository()
+ {
+ StringResourceRepository repo =
+
(StringResourceRepository)engine.getApplicationAttribute(stringRepoName);
+ if (repo == null)
+ {
+ engine.init();
+ repo =
+
(StringResourceRepository)engine.getApplicationAttribute(stringRepoName);
+ }
+ return repo;
+ }
+
+ protected void addTemplate(String name, String template)
+ {
+ info("Template '"+name+"': "+template);
+ getStringRepository().putStringResource(name, template);
+ }
+
+ protected void removeTemplate(String name)
+ {
+ info("Removed: '"+name+"'");
+ getStringRepository().removeStringResource(name);
+ }
+
public void tearDown()
{
engine = null;
@@ -137,7 +164,7 @@
*/
protected void assertTmplEquals(String expected, String template)
{
- info("Expected: '" + expected + "'");
+ info("Expected: " + expected + " from '" + template + "'");
StringWriter writer = new StringWriter();
try
@@ -155,7 +182,7 @@
throw new RuntimeException(e);
}
- info("Result: '" + writer.toString() + "'");
+ info("Result: " + writer.toString());
assertEquals(expected, writer.toString());
}
Modified:
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/MacroForwardDefineTestCase.java
URL:
http://svn.apache.org/viewvc/velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/MacroForwardDefineTestCase.java?rev=752570&r1=752569&r2=752570&view=diff
==============================================================================
---
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/MacroForwardDefineTestCase.java
(original)
+++
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/MacroForwardDefineTestCase.java
Wed Mar 11 18:54:28 2009
@@ -81,12 +81,10 @@
Velocity.setProperty(RuntimeConstants.RUNTIME_LOG_REFERENCE_LOG_INVALID,"true");
// actual instance of logger
- logger = new TestLogChute();
- logger.off();
+ logger = new TestLogChute(true, false);
Velocity.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM,logger);
Velocity.setProperty(TestLogChute.TEST_LOGGER_LEVEL, "debug");
Velocity.init();
- // DEBUG = true;
}
public static Test suite()
@@ -101,9 +99,9 @@
Template template = Velocity.getTemplate("macros.vm");
// try to get only messages during merge
- logger.on();
+ logger.startCapture();
template.merge(context, new StringWriter());
- logger.off();
+ logger.stopCapture();
String resultLog = logger.getLog();
if ( !isMatch(resultLog, COMPARE_DIR, "velocity.log", "cmp"))
Modified:
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/VMContextLocalscopeTestCase.java
URL:
http://svn.apache.org/viewvc/velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/VMContextLocalscopeTestCase.java?rev=752570&r1=752569&r2=752570&view=diff
==============================================================================
---
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/VMContextLocalscopeTestCase.java
(original)
+++
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/VMContextLocalscopeTestCase.java
Wed Mar 11 18:54:28 2009
@@ -19,7 +19,6 @@
* under the License.
*/
-import junit.framework.TestCase;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.context.InternalContextAdapterImpl;
import org.apache.velocity.context.ProxyVMContext;
@@ -32,24 +31,32 @@
* @author <a href="mailto:[email protected]">Stephen Habermann</a>
* @version $Id$
*/
-public class VMContextLocalscopeTestCase extends TestCase {
+public class VMContextLocalscopeTestCase extends BaseTestCase {
- private RuntimeInstance instance;
+ public VMContextLocalscopeTestCase(String name)
+ {
+ super(name);
+ }
- public void setUp() throws Exception
+ public void testViaEval()
{
- this.instance = new RuntimeInstance();
- this.instance.setProperty(RuntimeConstants.VM_CONTEXT_LOCALSCOPE,
Boolean.TRUE);
- this.instance.init();
+ engine.setProperty(RuntimeConstants.VM_CONTEXT_LOCALSCOPE,
Boolean.TRUE);
+ assertEvalEquals("$a", "#macro(a)#set($a = 'b')#end#a$a");
+ context.put("b", "b");
+ assertEvalEquals("b", "#macro(b)$b#set($b = 'c')#end#b");
+ assertContextValue("b", "b");
}
public void testLocalscopePutDoesntLeakButGetDoes()
{
+ RuntimeInstance instance = new RuntimeInstance();
+ instance.setProperty(RuntimeConstants.VM_CONTEXT_LOCALSCOPE,
Boolean.TRUE);
+ instance.init();
+
VelocityContext base = new VelocityContext();
base.put("outsideVar", "value1");
ProxyVMContext vm = new ProxyVMContext(new
InternalContextAdapterImpl(base), true);
- vm.put("newLocalVar", "value2");
// New variable put doesn't leak
assertNull(base.get("newLocalVar"));
Modified:
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/misc/TestLogChute.java
URL:
http://svn.apache.org/viewvc/velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/misc/TestLogChute.java?rev=752570&r1=752569&r2=752570&view=diff
==============================================================================
---
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/misc/TestLogChute.java
(original)
+++
velocity/engine/branches/2.0_Exp/src/test/org/apache/velocity/test/misc/TestLogChute.java
Wed Mar 11 18:54:28 2009
@@ -90,7 +90,7 @@
public boolean isLevelEnabled(int level)
{
- return !suppress && super.isLevelEnabled(level);
+ return (!suppress || capture) && super.isLevelEnabled(level);
}