From c9073c393e15af4aa526b48567a94c0db8f59ccc Mon Sep 17 00:00:00 2001 From: markt Date: Sat, 16 Jan 2010 10:49:25 +0000 Subject: [PATCH] Add some test cases for Enum to Enum coercion git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@899918 13f79535-47bb-0310-9956-ffa450edef68 --- test/org/apache/el/lang/TestELSupport.java | 45 ++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/test/org/apache/el/lang/TestELSupport.java b/test/org/apache/el/lang/TestELSupport.java index 4851931d8..4b1eed63c 100644 --- a/test/org/apache/el/lang/TestELSupport.java +++ b/test/org/apache/el/lang/TestELSupport.java @@ -19,6 +19,8 @@ package org.apache.el.lang; import java.math.BigDecimal; import java.math.BigInteger; +import javax.el.ELException; + import junit.framework.TestCase; public class TestELSupport extends TestCase { @@ -66,8 +68,51 @@ public class TestELSupport extends TestCase { Object output = ELSupport.coerceToType(null, Number.class); assertEquals(Long.valueOf(0), output); } + + public void testCoerceEnumAToEnumA() { + Object output = null; + try { + output = ELSupport.coerceToEnum(TestEnumA.VALA1, TestEnumA.class); + } finally { + assertEquals(TestEnumA.VALA1, output); + } + } + + public void testCoerceEnumAToEnumB() { + Object output = null; + try { + output = ELSupport.coerceToEnum(TestEnumA.VALA1, TestEnumB.class); + } catch (ELException ele) { + // Ignore + } + assertNull(output); + } + + public void testCoerceEnumAToEnumC() { + Object output = null; + try { + output = ELSupport.coerceToEnum(TestEnumA.VALA1, TestEnumC.class); + } finally { + assertEquals(TestEnumC.VALA1, output); + } + } private static void testIsSame(Object value) { assertEquals(value, ELSupport.coerceToNumber(value, value.getClass())); } + + private static enum TestEnumA { + VALA1, + VALA2 + } + private static enum TestEnumB { + VALB1, + VALB2 + } + private static enum TestEnumC { + VALA1, + VALA2, + VALB1, + VALB2 + } } -- 2.11.0