[jboss-cvs] jboss-seam/src/test/misc/org/jboss/seam/test ...
Stan Silvert
ssilvert at jboss.com
Wed Aug 9 16:30:08 EDT 2006
User: ssilvert
Date: 06/08/09 16:30:08
Modified: src/test/misc/org/jboss/seam/test testng.xml
Added: src/test/misc/org/jboss/seam/test
MethodExpressionParserTest.java
Log:
Add support for action params. See http://jira.jboss.com/jira/browse/JBSEAM-329
Revision Changes Path
1.4 +1 -0 jboss-seam/src/test/misc/org/jboss/seam/test/testng.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: testng.xml
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/test/misc/org/jboss/seam/test/testng.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- testng.xml 24 Apr 2006 06:43:58 -0000 1.3
+++ testng.xml 9 Aug 2006 20:30:08 -0000 1.4
@@ -12,6 +12,7 @@
<class name="org.jboss.seam.test.ContextTest"/>
<class name="org.jboss.seam.test.PhaseListenerTest"/>
<class name="org.jboss.seam.test.RemotingTest"/>
+ <class name="org.jboss.seam.test.MethodExpressionParserTest"/>
</classes>
</test>
1.1 date: 2006/08/09 20:30:08; author: ssilvert; state: Exp;jboss-seam/src/test/misc/org/jboss/seam/test/MethodExpressionParserTest.java
Index: MethodExpressionParserTest.java
===================================================================
/*
* JBoss, Home of Professional Open Source
* Copyright 2006, JBoss Inc., and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.seam.test;
import org.jboss.seam.actionparam.MethodExpressionParser;
import org.testng.annotations.Test;
/**
* Test the MethodExpressionParser
*
* @author Stan Silvert
*/
public class MethodExpressionParserTest
{
@Test
public void testStaticMEParserMethods()
{
MethodExpressionParser parser = new MethodExpressionParser("");
// is a param a quoted String or a value expression?
assert parser.isQuotedString("'foo'");
assert !parser.isQuotedString("foo");
assert parser.isQuotedString("\"foo\"");
// is the entire expression just a String literal?
assert parser.isStringLiteral("foo");
assert parser.isStringLiteral("#{foo");
assert parser.isStringLiteral("\\#{foo}");
assert !parser.isStringLiteral("${foo}");
assert !parser.isStringLiteral("#{foo}");
}
@Test
public void testMEParser()
{
MethodExpressionParser parser = new MethodExpressionParser("");
assert parser.getUnparsedExpression().equals("");
assert parser.getBaseExpression().equals("");
assert !parser.hasParamsInExpression();
assert parser.getParams().length == 0;
assert parser.getMethodName().equals("");
assert parser.getCombinedExpression().equals("");
parser = new MethodExpressionParser("foobar");
assert parser.getUnparsedExpression().equals("foobar");
assert parser.getBaseExpression().equals("foobar");
assert !parser.hasParamsInExpression();
assert parser.getParams().length == 0;
assert parser.getMethodName().equals("");
assert parser.getCombinedExpression().equals("foobar");
parser = new MethodExpressionParser("${foo}");
assert parser.getUnparsedExpression().equals("${foo}");
assert parser.getBaseExpression().equals("foo");
assert !parser.hasParamsInExpression();
assert parser.getParams().length == 0;
assert parser.getMethodName().equals("");
assert parser.getCombinedExpression().equals("#{foo}");
parser = new MethodExpressionParser(" #{foo} ");
assert parser.getUnparsedExpression().equals(" #{foo} ");
assert parser.getBaseExpression().equals("foo");
assert !parser.hasParamsInExpression();
assert parser.getParams().length == 0;
assert parser.getMethodName().equals("");
assert parser.getCombinedExpression().equals("#{foo}");
parser = new MethodExpressionParser("#{foo.bar}");
assert parser.getUnparsedExpression().equals("#{foo.bar}");
assert parser.getBaseExpression().equals("foo");
assert parser.getMethodName().equals("bar");
assert !parser.hasParamsInExpression();
assert parser.getParams().length == 0;
assert parser.getCombinedExpression().equals("#{foo.bar}");
parser = new MethodExpressionParser("#{foo[bar]}");
assert parser.getUnparsedExpression().equals("#{foo[bar]}");
assert parser.getBaseExpression().equals("foo");
assert parser.getMethodName().equals("bar");
assert !parser.hasParamsInExpression();
assert parser.getParams().length == 0;
assert parser.getCombinedExpression().equals("#{foo.bar}");
parser = new MethodExpressionParser("#{foo[bar()]}");
assert parser.getUnparsedExpression().equals("#{foo[bar()]}");
assert parser.getBaseExpression().equals("foo");
assert parser.getMethodName().equals("bar");
assert !parser.hasParamsInExpression();
assert parser.getParams().length == 0;
assert parser.getCombinedExpression().equals("#{foo.bar}");
parser = new MethodExpressionParser("#{foo.bar(baz)}");
assert parser.getUnparsedExpression().equals("#{foo.bar(baz)}");
assert parser.getBaseExpression().equals("foo");
assert parser.getMethodName().equals("bar");
assert parser.hasParamsInExpression();
assert parser.getParams().length == 1;
assert parser.getParams()[0].equals("baz");
assert parser.getCombinedExpression().equals("#{foo.bar}");
parser = new MethodExpressionParser("#{foo.bar.baz( )}");
assert parser.getUnparsedExpression().equals("#{foo.bar.baz( )}");
assert parser.getBaseExpression().equals("foo.bar");
assert parser.getMethodName().equals("baz");
assert !parser.hasParamsInExpression();
assert parser.getParams().length == 0;
assert parser.getCombinedExpression().equals("#{foo.bar.baz}");
parser = new MethodExpressionParser("#{foo.bar.baz(bum)}");
assert parser.getUnparsedExpression().equals("#{foo.bar.baz(bum)}");
assert parser.getBaseExpression().equals("foo.bar");
assert parser.getMethodName().equals("baz");
assert parser.hasParamsInExpression();
assert parser.getParams().length == 1;
assert parser.getParams()[0].equals("bum");
assert parser.getCombinedExpression().equals("#{foo.bar.baz}");
parser = new MethodExpressionParser("#{foo.bar[baz(bum)]}");
assert parser.getUnparsedExpression().equals("#{foo.bar[baz(bum)]}");
assert parser.getBaseExpression().equals("foo.bar");
assert parser.getMethodName().equals("baz");
assert parser.hasParamsInExpression();
assert parser.getParams().length == 1;
assert parser.getParams()[0].equals("bum");
assert parser.getCombinedExpression().equals("#{foo.bar.baz}");
parser = new MethodExpressionParser("#{foo.bar.baz(\"bum\")}");
assert parser.getUnparsedExpression().equals("#{foo.bar.baz(\"bum\")}");
assert parser.getBaseExpression().equals("foo.bar");
assert parser.getMethodName().equals("baz");
assert parser.hasParamsInExpression();
assert parser.getParams().length == 1;
assert parser.getParams()[0].equals("\"bum\"");
assert parser.getCombinedExpression().equals("#{foo.bar.baz}");
parser = new MethodExpressionParser("#{foo.bar.baz(bum, booger, 'foo')}");
assert parser.getUnparsedExpression().equals("#{foo.bar.baz(bum, booger, 'foo')}");
assert parser.getBaseExpression().equals("foo.bar");
assert parser.getMethodName().equals("baz");
assert parser.hasParamsInExpression();
assert parser.getParams().length == 3;
assert parser.getParams()[0].equals("bum");
assert parser.getParams()[1].equals("booger");
assert parser.getParams()[2].equals("'foo'");
assert parser.getCombinedExpression().equals("#{foo.bar.baz}");
parser = new MethodExpressionParser("#{foo[1].bar[2].baz(bum, booger, 'foo')}");
assert parser.getUnparsedExpression().equals("#{foo[1].bar[2].baz(bum, booger, 'foo')}");
assert parser.getBaseExpression().equals("foo[1].bar[2]");
assert parser.getMethodName().equals("baz");
assert parser.hasParamsInExpression();
assert parser.getParams().length == 3;
assert parser.getParams()[0].equals("bum");
assert parser.getParams()[1].equals("booger");
assert parser.getParams()[2].equals("'foo'");
assert parser.getCombinedExpression().equals("#{foo[1].bar[2].baz}");
parser = new MethodExpressionParser("#{foo[\"one\"].bar[\"two\"].baz(bum, booger, 'foo')}");
assert parser.getUnparsedExpression().equals("#{foo[\"one\"].bar[\"two\"].baz(bum, booger, 'foo')}");
assert parser.getBaseExpression().equals("foo[\"one\"].bar[\"two\"]");
assert parser.getMethodName().equals("baz");
assert parser.hasParamsInExpression();
assert parser.getParams().length == 3;
assert parser.getParams()[0].equals("bum");
assert parser.getParams()[1].equals("booger");
assert parser.getParams()[2].equals("'foo'");
assert parser.getCombinedExpression().equals("#{foo[\"one\"].bar[\"two\"].baz}");
parser = new MethodExpressionParser("#{foo[1].bar[2][baz(bum, booger, 'foo')]}");
assert parser.getUnparsedExpression().equals("#{foo[1].bar[2][baz(bum, booger, 'foo')]}");
assert parser.getBaseExpression().equals("foo[1].bar[2]");
assert parser.getMethodName().equals("baz");
assert parser.hasParamsInExpression();
assert parser.getParams().length == 3;
assert parser.getParams()[0].equals("bum");
assert parser.getParams()[1].equals("booger");
assert parser.getParams()[2].equals("'foo'");
assert parser.getCombinedExpression().equals("#{foo[1].bar[2].baz}");
}
}
More information about the jboss-cvs-commits
mailing list