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\")");