Author: kkolinko
Date: Sat Nov 7 14:35:52 2015
New Revision: 1713133
URL: http://svn.apache.org/viewvc?rev=1713133&view=rev
Log:
Convert test classes to JUnit 4, copy some additional tests from Tomcat 7.
Modified:
tomcat/tc6.0.x/trunk/test/org/apache/el/TestELEvaluation.java
tomcat/tc6.0.x/trunk/test/org/apache/el/lang/TestELArithmetic.java
tomcat/tc6.0.x/trunk/test/org/apache/el/lang/TestELSupport.java
Modified: tomcat/tc6.0.x/trunk/test/org/apache/el/TestELEvaluation.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/test/org/apache/el/TestELEvaluation.java?rev=1713133&r1=1713132&r2=1713133&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/test/org/apache/el/TestELEvaluation.java (original)
+++ tomcat/tc6.0.x/trunk/test/org/apache/el/TestELEvaluation.java Sat Nov 7
14:35:52 2015
@@ -22,26 +22,31 @@ import java.lang.reflect.Method;
import java.util.Date;
import javax.el.ELException;
-import javax.el.ValueExpression;
import javax.el.FunctionMapper;
+import javax.el.ValueExpression;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import org.junit.Test;
-import org.apache.el.ExpressionFactoryImpl;
import org.apache.el.lang.ELSupport;
-import org.apache.jasper.compiler.TestAttributeParser;
import org.apache.jasper.el.ELContextImpl;
-import junit.framework.TestCase;
-
/**
* Tests the EL engine directly. Similar tests may be found in
- * {@link TestAttributeParser} and {@link TestELInJsp}.
+ * {@link org.apache.jasper.compiler.TestAttributeParser} and
+ * {@link TestELInJsp}.
*/
-public class TestELEvaluation extends TestCase {
+public class TestELEvaluation {
/**
* Test use of spaces in ternary expressions. This was primarily an EL
* parser bug.
*/
+ @Test
public void testBug42565() {
assertEquals("false", evaluateExpression("${false?true:false}"));
assertEquals("false", evaluateExpression("${false?true: false}"));
@@ -63,8 +68,9 @@ public class TestELEvaluation extends Te
/**
- * Test use nested ternary expressions. This was primarily an EL parser
bug.
+ * Test use nested ternary expressions. This was primarily an EL parser
bug.
*/
+ @Test
public void testBug44994() {
assertEquals("none", evaluateExpression(
"${0 lt 0 ? 1 lt 0 ? 'many': 'one': 'none'}"));
@@ -74,7 +80,7 @@ public class TestELEvaluation extends Te
"${0 lt 2 ? 1 lt 2 ? 'many': 'one': 'none'}"));
}
-
+ @Test
public void testParserBug45511() {
// Test cases provided by OP
assertEquals("true", evaluateExpression("${empty ('')}"));
@@ -83,18 +89,20 @@ public class TestELEvaluation extends Te
assertEquals("false", evaluateExpression("${(true)and(false)}"));
}
+ @Test
public void testBug48112() {
// bug 48112
assertEquals("{world}", evaluateExpression("${fn:trim('{world}')}"));
}
+ @Test
public void testParserLiteralExpression() {
// Inspired by work on bug 45451, comments from kkolinko on the dev
// list and looking at the spec to find some edge cases
// '\' is only an escape character inside a StringLiteral
assertEquals("\\\\", evaluateExpression("\\\\"));
-
+
/*
* LiteralExpresions can only contain ${ or #{ if escaped with \
* \ is not an escape character in any other circumstances including \\
@@ -119,10 +127,11 @@ public class TestELEvaluation extends Te
assertEquals("\\\\", evaluateExpression("\\\\"));
}
+ @Test
public void testParserStringLiteral() {
// Inspired by work on bug 45451, comments from kkolinko on the dev
// list and looking at the spec to find some edge cases
-
+
// The only characters that can be escaped inside a String literal
// are \ " and '. # and $ are not escaped inside a String literal.
assertEquals("\\", evaluateExpression("${'\\\\'}"));
@@ -141,9 +150,8 @@ public class TestELEvaluation extends Te
assertEquals("\\$", evaluateExpression("${'\\\\$'}"));
assertEquals("\\\\$", evaluateExpression("${'\\\\\\\\$'}"));
-
-
-
+
+
// Can use ''' inside '"' when quoting with '"' and vice versa without
// escaping
assertEquals("\\\"", evaluateExpression("${'\\\\\"'}"));
@@ -163,12 +171,13 @@ public class TestELEvaluation extends Te
assertEquals(msg,expected, -i2);
}
+ @Test
public void testElSupportCompare(){
compareBoth("Nulls should compare equal", 0, null, null);
compareBoth("Null should compare equal to \"\"", 0, "", null);
compareBoth("Null should be less than File()",-1, null, new File(""));
compareBoth("Null should be less than Date()",-1, null, new Date());
- compareBoth("Date(0) should be less than Date(1)",-1, new Date(0), new
Date(1));
+ compareBoth("Date(0) should be less than Date(1)",-1, new Date(0), new
Date(1));
try {
compareBoth("Should not compare",0, new Date(), new File(""));
fail("Expecting ClassCastException");
@@ -181,6 +190,7 @@ public class TestELEvaluation extends Te
/**
* Test mixing ${...} and #{...} in the same expression.
*/
+ @Test
public void testMixedTypes() {
// Mixing types should throw an error
Exception e = null;
@@ -202,7 +212,7 @@ public class TestELEvaluation extends Te
String.class);
return (String) ve.getValue(ctx);
}
-
+
public static class FMapper extends FunctionMapper {
@Override
@@ -216,7 +226,7 @@ public class TestELEvaluation extends Te
// Ignore
} catch (NoSuchMethodException e) {
// Ignore
- }
+ }
}
return null;
}
Modified: tomcat/tc6.0.x/trunk/test/org/apache/el/lang/TestELArithmetic.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/test/org/apache/el/lang/TestELArithmetic.java?rev=1713133&r1=1713132&r2=1713133&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/test/org/apache/el/lang/TestELArithmetic.java
(original)
+++ tomcat/tc6.0.x/trunk/test/org/apache/el/lang/TestELArithmetic.java Sat Nov
7 14:35:52 2015
@@ -16,41 +16,83 @@
*/
package org.apache.el.lang;
+import java.math.BigDecimal;
import java.math.BigInteger;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
-public class TestELArithmetic extends TestCase {
- private final String a = "1.1";
- private final BigInteger b = new BigInteger("1000000000000000000000");
+import org.junit.Test;
+public class TestELArithmetic {
+ private static final String a = "1.1";
+ private static final BigInteger b =
+ new BigInteger("1000000000000000000000");
+
+ @Test
public void testAdd() throws Exception {
assertEquals("1000000000000000000001.1",
String.valueOf(ELArithmetic.add(a, b)));
}
+ @Test
public void testSubtract() throws Exception {
assertEquals("-999999999999999999998.9",
String.valueOf(ELArithmetic.subtract(a, b)));
}
+ @Test
public void testMultiply() throws Exception {
assertEquals("1100000000000000000000.0",
String.valueOf(ELArithmetic.multiply(a, b)));
}
+ @Test
public void testDivide() throws Exception {
assertEquals("0.0",
String.valueOf(ELArithmetic.divide(a, b)));
}
+ @Test
public void testMod() throws Exception {
assertEquals("1.1",
String.valueOf(ELArithmetic.mod(a, b)));
}
- public void testBug47371() throws Exception {
- assertEquals("1",
- String.valueOf(ELArithmetic.add("", Integer.valueOf(1))));
+ @Test
+ public void testBug47371bigDecimal() throws Exception {
+ assertEquals(BigDecimal.valueOf(1),
+ ELArithmetic.add("", BigDecimal.valueOf(1)));
+ }
+
+ @Test
+ public void testBug47371double() throws Exception {
+ assertEquals(Double.valueOf(7), ELArithmetic.add("",
Double.valueOf(7)));
+ }
+
+ @Test
+ public void testBug47371doubleString() throws Exception {
+ assertEquals(Double.valueOf(2), ELArithmetic.add("", "2."));
+ }
+
+ @Test
+ public void testBug47371bigInteger() throws Exception {
+ assertEquals(BigInteger.valueOf(0),
+ ELArithmetic.multiply("", BigInteger.valueOf(1)));
}
+
+ @Test
+ public void testBug47371long() throws Exception {
+ assertEquals(Long.valueOf(1), ELArithmetic.add("",
Integer.valueOf(1)));
+ }
+
+ @Test
+ public void testBug47371long2() throws Exception {
+ assertEquals(Long.valueOf(-3), ELArithmetic.subtract("1", "4"));
+ }
+
+ @Test
+ public void testBug47371doubleString2() throws Exception {
+ assertEquals(Double.valueOf(2), ELArithmetic.add("1.", "1"));
+ }
+
}
Modified: tomcat/tc6.0.x/trunk/test/org/apache/el/lang/TestELSupport.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/test/org/apache/el/lang/TestELSupport.java?rev=1713133&r1=1713132&r2=1713133&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/test/org/apache/el/lang/TestELSupport.java (original)
+++ tomcat/tc6.0.x/trunk/test/org/apache/el/lang/TestELSupport.java Sat Nov 7
14:35:52 2015
@@ -21,58 +21,74 @@ import java.math.BigInteger;
import javax.el.ELException;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
-public class TestELSupport extends TestCase {
+import org.junit.Test;
+
+public class TestELSupport {
+ @Test
public void testEquals() {
assertTrue(ELSupport.equals("01", Long.valueOf(1)));
}
+ @Test
public void testBigDecimal() {
testIsSame(new BigDecimal(
"0.123456789012345678901234567890123456789012345678901234567890123456789"));
}
+ @Test
public void testBigInteger() {
testIsSame(new BigInteger(
"1234567890123456789012345678901234567890123456789012345678901234567890"));
}
+ @Test
public void testLong() {
testIsSame(Long.valueOf(0x0102030405060708L));
}
+ @Test
public void testInteger() {
testIsSame(Integer.valueOf(0x01020304));
}
+ @Test
public void testShort() {
testIsSame(Short.valueOf((short) 0x0102));
}
+ @Test
public void testByte() {
testIsSame(Byte.valueOf((byte) 0xEF));
}
+ @Test
public void testDouble() {
testIsSame(Double.valueOf(0.123456789012345678901234));
}
+ @Test
public void testFloat() {
testIsSame(Float.valueOf(0.123456F));
}
+ @Test
public void testCoerceIntegerToNumber() {
- Integer input = 4390241;
+ Integer input = Integer.valueOf(4390241);
Object output = ELSupport.coerceToType(input, Number.class);
assertEquals(input, output);
}
+ @Test
public void testCoerceNullToNumber() {
Object output = ELSupport.coerceToType(null, Number.class);
assertEquals(Long.valueOf(0), output);
}
-
+
+ @Test
public void testCoerceEnumAToEnumA() {
Object output = null;
try {
@@ -81,7 +97,8 @@ public class TestELSupport extends TestC
assertEquals(TestEnumA.VALA1, output);
}
}
-
+
+ @Test
public void testCoerceEnumAToEnumB() {
Object output = null;
try {
@@ -92,6 +109,7 @@ public class TestELSupport extends TestC
assertNull(output);
}
+ @Test
public void testCoerceEnumAToEnumC() {
Object output = null;
try {
@@ -105,7 +123,7 @@ public class TestELSupport extends TestC
private static void testIsSame(Object value) {
assertEquals(value, ELSupport.coerceToNumber(value, value.getClass()));
}
-
+
private static enum TestEnumA {
VALA1,
VALA2
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]