You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by by...@apache.org on 2009/01/23 12:17:30 UTC
svn commit: r737006 - in /velocity/engine/trunk/src:
java/org/apache/velocity/runtime/directive/RuntimeMacro.java
test/org/apache/velocity/test/StrictReferenceTestCase.java
Author: byron
Date: Fri Jan 23 03:17:29 2009
New Revision: 737006
URL: http://svn.apache.org/viewvc?rev=737006&view=rev
Log:
If a macro is not defined then throw a VelocityException instead of ParseErrorException, since parse exceptions are something else
Modified:
velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/RuntimeMacro.java
velocity/engine/trunk/src/test/org/apache/velocity/test/StrictReferenceTestCase.java
Modified: velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/RuntimeMacro.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/RuntimeMacro.java?rev=737006&r1=737005&r2=737006&view=diff
==============================================================================
--- velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/RuntimeMacro.java (original)
+++ velocity/engine/trunk/src/java/org/apache/velocity/runtime/directive/RuntimeMacro.java Fri Jan 23 03:17:29 2009
@@ -19,25 +19,25 @@
* under the License.
*/
-import org.apache.commons.lang.text.StrBuilder;
+import java.io.IOException;
+import java.io.Writer;
+import java.util.List;
+import org.apache.commons.lang.text.StrBuilder;
import org.apache.velocity.context.InternalContextAdapter;
+import org.apache.velocity.exception.MethodInvocationException;
+import org.apache.velocity.exception.ParseErrorException;
+import org.apache.velocity.exception.ResourceNotFoundException;
+import org.apache.velocity.exception.TemplateInitException;
+import org.apache.velocity.exception.VelocityException;
+import org.apache.velocity.runtime.RuntimeConstants;
+import org.apache.velocity.runtime.RuntimeServices;
import org.apache.velocity.runtime.log.Log;
-import org.apache.velocity.runtime.parser.node.Node;
import org.apache.velocity.runtime.parser.ParserTreeConstants;
import org.apache.velocity.runtime.parser.Token;
-import org.apache.velocity.runtime.RuntimeConstants;
-import org.apache.velocity.runtime.RuntimeServices;
-import org.apache.velocity.exception.ResourceNotFoundException;
-import org.apache.velocity.exception.ParseErrorException;
-import org.apache.velocity.exception.MethodInvocationException;
-import org.apache.velocity.exception.TemplateInitException;
+import org.apache.velocity.runtime.parser.node.Node;
import org.apache.velocity.util.introspection.Info;
-import java.io.Writer;
-import java.io.IOException;
-import java.util.List;
-
/**
* This class acts as a proxy for potential macros. When the AST is built
* this class is inserted as a placeholder for the macro (whether or not
@@ -316,8 +316,8 @@
}
else if (strictRef)
{
- throw new ParseErrorException("Macro '#" + macroName + "' is not defined at "
- + Log.formatFileString(node), new Info(node));
+ throw new VelocityException("Macro '#" + macroName + "' is not defined at "
+ + Log.formatFileString(node));
}
/**
Modified: velocity/engine/trunk/src/test/org/apache/velocity/test/StrictReferenceTestCase.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/test/org/apache/velocity/test/StrictReferenceTestCase.java?rev=737006&r1=737005&r2=737006&view=diff
==============================================================================
--- velocity/engine/trunk/src/test/org/apache/velocity/test/StrictReferenceTestCase.java (original)
+++ velocity/engine/trunk/src/test/org/apache/velocity/test/StrictReferenceTestCase.java Fri Jan 23 03:17:29 2009
@@ -164,10 +164,10 @@
*/
public void testMacros()
{
- assertParseEx("#bogus()");
- assertParseEx("#bogus ( )");
- assertParseEx("#bogus( $a )");
- assertParseEx("abc#bogus ( $a )a ");
+ assertVelocityEx("#bogus()");
+ assertVelocityEx("#bogus ( )");
+ assertVelocityEx("#bogus( $a )");
+ assertVelocityEx("abc#bogus ( $a )a ");
assertEvalEquals(" true ", "#macro(test1) true #end#test1()");
assertEvalEquals(" true ", "#macro(test2 $a) $a #end#test2 ( \"true\")");