You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by he...@apache.org on 2012/08/31 10:06:42 UTC
svn commit: r1379348 - in
/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3:
ArithmeticTest.java IssuesTest.java VarTest.java
Author: henrib
Date: Fri Aug 31 08:06:41 2012
New Revision: 1379348
URL: http://svn.apache.org/viewvc?rev=1379348&view=rev
Log:
Moved issue related test to ArithmeticTest;
Added question related test to VarTest;
Modified:
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/ArithmeticTest.java
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/IssuesTest.java
commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/VarTest.java
Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/ArithmeticTest.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/ArithmeticTest.java?rev=1379348&r1=1379347&r2=1379348&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/ArithmeticTest.java (original)
+++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/ArithmeticTest.java Fri Aug 31 08:06:41 2012
@@ -356,4 +356,53 @@ public class ArithmeticTest extends Jexl
result = script.execute(null);
assertTrue((Boolean) result);
}
-}
\ No newline at end of file
+
+ public static class EmptyTestContext extends MapContext implements JexlContext.NamespaceResolver {
+ public static int log(Object fmt, Object... arr) {
+ //System.out.println(String.format(fmt.toString(), arr));
+ return arr == null ? 0 : arr.length;
+ }
+
+ public static int log(Object fmt, int... arr) {
+ //System.out.println(String.format(fmt.toString(), arr));
+ return arr == null ? 0 : arr.length;
+ }
+
+ @Override
+ public Object resolveNamespace(String name) {
+ return this;
+ }
+ }
+
+ public void testEmpty() throws Exception {
+ Object[] SCRIPTS = {
+ "var x = null; log('x = %s', x);", 0,
+ "var x = 'abc'; log('x = %s', x);", 1,
+ "var x = 333; log('x = %s', x);", 1,
+ "var x = [1, 2]; log('x = %s', x);", 2,
+ "var x = ['a', 'b']; log('x = %s', x);", 2,
+ "var x = {1:'A', 2:'B'}; log('x = %s', x);", 1,
+ "var x = null; return empty(x);", true,
+ "var x = ''; return empty(x);", true,
+ "var x = 'abc'; return empty(x);", false,
+ "var x = 0; return empty(x);", true,
+ "var x = 333; return empty(x);", false,
+ "var x = []; return empty(x);", true,
+ "var x = [1, 2]; return empty(x);", false,
+ "var x = ['a', 'b']; return empty(x);", false,
+ "var x = {:}; return empty(x);", true,
+ "var x = {1:'A', 2:'B'}; return empty(x);", false
+ };
+ JexlEngine jexl = new JexlBuilder().create();
+ JexlContext jc = new EmptyTestContext();
+ JexlScript script;
+
+ for (int e = 0; e < SCRIPTS.length; e += 2) {
+ String stext = (String) SCRIPTS[e];
+ Object expected = SCRIPTS[e + 1];
+ script = jexl.createScript(stext);
+ Object result = script.execute(jc);
+ assertEquals("failed on " + stext, expected, result);
+ }
+ }
+}
Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/IssuesTest.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/IssuesTest.java?rev=1379348&r1=1379347&r2=1379348&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/IssuesTest.java (original)
+++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/IssuesTest.java Fri Aug 31 08:06:41 2012
@@ -892,54 +892,4 @@ public class IssuesTest extends JexlTest
result = expr.evaluate(jc);
assertEquals("EXPR01 result", 22, result);
}
-
- public static class Context137 extends MapContext implements JexlContext.NamespaceResolver {
- public static int log(Object fmt, Object... arr) {
- //System.out.println(String.format(fmt.toString(), arr));
- return arr == null ? 0 : arr.length;
- }
-
- public static int log(Object fmt, int... arr) {
- //System.out.println(String.format(fmt.toString(), arr));
- return arr == null ? 0 : arr.length;
- }
-
- @Override
- public Object resolveNamespace(String name) {
- return this;
- }
- }
-
- @Test
- public void test137() throws Exception {
- Object[] SCRIPTS = {
- "var x = null; log('x = %s', x);", 0,
- "var x = 'abc'; log('x = %s', x);", 1,
- "var x = 333; log('x = %s', x);", 1,
- "var x = [1, 2]; log('x = %s', x);", 2,
- "var x = ['a', 'b']; log('x = %s', x);", 2,
- "var x = {1:'A', 2:'B'}; log('x = %s', x);", 1,
- "var x = null; return empty(x);", true,
- "var x = ''; return empty(x);", true,
- "var x = 'abc'; return empty(x);", false,
- "var x = 0; return empty(x);", true,
- "var x = 333; return empty(x);", false,
- "var x = []; return empty(x);", true,
- "var x = [1, 2]; return empty(x);", false,
- "var x = ['a', 'b']; return empty(x);", false,
- "var x = {:}; return empty(x);", true,
- "var x = {1:'A', 2:'B'}; return empty(x);", false
- };
- JexlEngine jexl = new JexlBuilder().create();
- JexlContext jc = new Context137();
- JexlScript script;
-
- for (int e = 0; e < SCRIPTS.length; e += 2) {
- String stext = (String) SCRIPTS[e];
- Object expected = SCRIPTS[e + 1];
- script = jexl.createScript(stext);
- Object result = script.execute(jc);
- assertEquals("failed on " + stext, expected, result);
- }
- }
}
Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/VarTest.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/VarTest.java?rev=1379348&r1=1379347&r2=1379348&view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/VarTest.java (original)
+++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/VarTest.java Fri Aug 31 08:06:41 2012
@@ -253,6 +253,21 @@ public class VarTest extends JexlTestCas
vars = e.getVariables();
expect = mkref(new String[][]{{"A"}, {"B"}, {"C"}, {"D", "E", "F"}, {"x"} , {"y", "z"}});
assertTrue(eq(expect, vars));
+
+ e = JEXL.createScript("(A)");
+ vars = e.getVariables();
+ expect = mkref(new String[][]{{"A"}});
+ assertTrue(eq(expect, vars));
+
+ e = JEXL.createScript("not(A)");
+ vars = e.getVariables();
+ expect = mkref(new String[][]{{"A"}});
+ assertTrue(eq(expect, vars));
+
+ e = JEXL.createScript("not((A))");
+ vars = e.getVariables();
+ expect = mkref(new String[][]{{"A"}});
+ assertTrue(eq(expect, vars));
}
public void testMix() throws Exception {