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