You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by Nathan Bubna <nb...@gmail.com> on 2012/04/26 15:22:38 UTC
Re: svn commit: r1330815 - in /velocity/engine/trunk/velocity-engine-core/src:
main/parser/Parser.jjt test/java/org/apache/velocity/test/ExpressionAsMethodArgumentTestCase.java
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, <cb...@apache.org> 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: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org
Re: svn commit: r1330815 - in
/velocity/engine/trunk/velocity-engine-core/src: main/parser/Parser.jjt
test/java/org/apache/velocity/test/ExpressionAsMethodArgumentTestCase.java
Posted by Claude Brisson <cl...@renegat.net>.
On Thu, 26 Apr 2012 06:22:38 -0700
Nathan Bubna <nb...@gmail.com> wrote:
> Heh. Yeah, that did seem a bit small for a GSoC project. :)
Dealing with Macro arguments may have given the student enough work -
it looks like rather complex... but I'm already happy with this one.
> By the
> way, thanks for dealing with the backlog of patches too!!
You're welcome!
Claude
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org