Heh. Yeah, that did seem a bit small for a GSoC project. :) By the way, thanks for dealing with the backlog of patches too!!
On Thu, Apr 26, 2012 at 5:42 AM, <[email protected]> wrote: > Author: cbrisson > Date: Thu Apr 26 12:42:39 2012 > New Revision: 1330815 > > URL: http://svn.apache.org/viewvc?rev=1330815&view=rev > Log: > Expressions as method arguments (VELOCITY-706) > > Added: > > velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/ExpressionAsMethodArgumentTestCase.java > Modified: > velocity/engine/trunk/velocity-engine-core/src/main/parser/Parser.jjt > > Modified: > velocity/engine/trunk/velocity-engine-core/src/main/parser/Parser.jjt > URL: > http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/main/parser/Parser.jjt?rev=1330815&r1=1330814&r2=1330815&view=diff > ============================================================================== > --- velocity/engine/trunk/velocity-engine-core/src/main/parser/Parser.jjt > (original) > +++ velocity/engine/trunk/velocity-engine-core/src/main/parser/Parser.jjt Thu > Apr 26 12:42:39 2012 > @@ -1011,7 +1011,7 @@ TOKEN : > } > > > -<DIRECTIVE> > +<DIRECTIVE,REFMOD2> > TOKEN : > { > <MINUS: "-"> > @@ -1711,7 +1711,7 @@ void Parameter() #void: {} > */ > void Method() : {} > { > - Identifier() <LPAREN> [ Parameter() ( <COMMA> Parameter() )* ] > <REFMOD2_RPAREN> > + Identifier() <LPAREN> [ Expression() ( <COMMA> Expression() )* ] > <REFMOD2_RPAREN> > } > > > > Added: > velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/ExpressionAsMethodArgumentTestCase.java > URL: > http://svn.apache.org/viewvc/velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/ExpressionAsMethodArgumentTestCase.java?rev=1330815&view=auto > ============================================================================== > --- > velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/ExpressionAsMethodArgumentTestCase.java > (added) > +++ > velocity/engine/trunk/velocity-engine-core/src/test/java/org/apache/velocity/test/ExpressionAsMethodArgumentTestCase.java > Thu Apr 26 12:42:39 2012 > @@ -0,0 +1,55 @@ > +package org.apache.velocity.test; > + > +/* > + * Licensed to the Apache Software Foundation (ASF) under one > + * or more contributor license agreements. See the NOTICE file > + * distributed with this work for additional information > + * regarding copyright ownership. The ASF licenses this file > + * to you under the Apache License, Version 2.0 (the > + * "License"); you may not use this file except in compliance > + * with the License. You may obtain a copy of the License at > + * > + * http://www.apache.org/licenses/LICENSE-2.0 > + * > + * Unless required by applicable law or agreed to in writing, > + * software distributed under the License is distributed on an > + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > + * KIND, either express or implied. See the License for the > + * specific language governing permissions and limitations > + * under the License. > + */ > + > +import org.apache.velocity.VelocityContext; > + > +/** > + * This class tests passing expressions as method arguments > + */ > + > +public class ExpressionAsMethodArgumentTestCase extends BaseTestCase > +{ > + public ExpressionAsMethodArgumentTestCase(final String name) > + { > + super(name); > + } > + > + protected void setUpContext(VelocityContext context) > + { > + context.put("tool",new MyAbsTool()); > + context.put("foo",2); > + context.put("bar",-3); > + } > + > + public void testExpressionAsMethod() > + { > + assertEvalEquals("6","$tool.abs( $foo * $bar )"); > + assertEvalEquals("12","$tool.abs( $foo * $tool.abs( $foo * $bar ) > )"); > + } > + > + public static class MyAbsTool > + { > + public int abs(int num) > + { > + return Math.abs(num); > + } > + } > +} > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
