You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/07/04 21:26:52 UTC

svn commit: r1499845 - in /tomcat/trunk/test/javax/el: TestBeanNameELResolver.java TesterBean.java TesterBeanNameResolver.java

Author: markt
Date: Thu Jul  4 19:26:52 2013
New Revision: 1499845

URL: http://svn.apache.org/r1499845
Log:
More unit tests for BeanNameELResolver

Modified:
    tomcat/trunk/test/javax/el/TestBeanNameELResolver.java
    tomcat/trunk/test/javax/el/TesterBean.java
    tomcat/trunk/test/javax/el/TesterBeanNameResolver.java

Modified: tomcat/trunk/test/javax/el/TestBeanNameELResolver.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/javax/el/TestBeanNameELResolver.java?rev=1499845&r1=1499844&r2=1499845&view=diff
==============================================================================
--- tomcat/trunk/test/javax/el/TestBeanNameELResolver.java (original)
+++ tomcat/trunk/test/javax/el/TestBeanNameELResolver.java Thu Jul  4 19:26:52 2013
@@ -26,6 +26,7 @@ public class TestBeanNameELResolver {
     private static final String BEAN02_NAME = "bean02";
     private static final TesterBean BEAN02 = new TesterBean(BEAN02_NAME);
     private static final String BEAN99_NAME = "bean99";
+    private static final TesterBean BEAN99 = new TesterBean(BEAN99_NAME);
 
     /**
      * Creates the resolver that is used for the test. All the tests use a
@@ -37,10 +38,10 @@ public class TestBeanNameELResolver {
 
     private BeanNameELResolver createBeanNameELResolver(boolean allowCreate) {
 
-        BeanNameResolver beanNameResolver =
-                new TesterBeanNameResolver(allowCreate);
+        TesterBeanNameResolver beanNameResolver = new TesterBeanNameResolver();
         beanNameResolver.setBeanValue(BEAN01_NAME, BEAN01);
         beanNameResolver.setBeanValue(BEAN02_NAME, BEAN02);
+        beanNameResolver.setAllowCreate(allowCreate);
 
         BeanNameELResolver beanNameELResolver =
                 new BeanNameELResolver(beanNameResolver);
@@ -181,4 +182,82 @@ public class TestBeanNameELResolver {
         BeanNameELResolver resolver = createBeanNameELResolver();
         resolver.setValue(null, new Object(), new Object(), new Object());
     }
+
+
+    /**
+     * Test replace with create enabled.
+     */
+    @Test
+    public void testSetValue02() {
+        doSetValueCreateReplaceTest(true, BEAN01_NAME);
+    }
+
+
+    /**
+     * Test replace with create disabled.
+     */
+    @Test
+    public void testSetValue03() {
+        doSetValueCreateReplaceTest(false, BEAN01_NAME);
+    }
+
+
+    /**
+     * Test create with create enabled.
+     */
+    @Test
+    public void testSetValue04() {
+        doSetValueCreateReplaceTest(true, BEAN99_NAME);
+    }
+
+
+    /**
+     * Test ceate with create disabled.
+     */
+    @Test
+    public void testSetValue05() {
+        doSetValueCreateReplaceTest(false, BEAN99_NAME);
+    }
+
+
+    /**
+     * Tests adding/replacing beans beans
+     */
+    private void doSetValueCreateReplaceTest(boolean canCreate,
+            String beanName) {
+        BeanNameELResolver resolver = createBeanNameELResolver(canCreate);
+        ELContext context =
+                new StandardELContext(ELManager.getExpressionFactory());
+
+        // Get bean one to be sure it has been replaced when testing replace
+        Object bean = resolver.getValue(context, null, BEAN01_NAME);
+
+        Assert.assertTrue(context.isPropertyResolved());
+        Assert.assertEquals(BEAN01, bean);
+
+        // Reset context
+        context.setPropertyResolved(false);
+
+        // Replace BEAN01
+        resolver.setValue(context, null, beanName, BEAN99);
+        if (canCreate || BEAN01_NAME.equals(beanName)) {
+            Assert.assertTrue(context.isPropertyResolved());
+
+            // Obtain BEAN01 again
+            context.setPropertyResolved(false);
+            bean = resolver.getValue(context, null, beanName);
+
+            Assert.assertTrue(context.isPropertyResolved());
+            Assert.assertEquals(BEAN99, bean);
+        } else {
+            Assert.assertFalse(context.isPropertyResolved());
+
+            // Obtain BEAN01 again
+            context.setPropertyResolved(false);
+            bean = resolver.getValue(context, null, BEAN01_NAME);
+
+            Assert.assertTrue(context.isPropertyResolved());
+            Assert.assertEquals(BEAN01, bean);
+        }
+    }
 }

Modified: tomcat/trunk/test/javax/el/TesterBean.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/javax/el/TesterBean.java?rev=1499845&r1=1499844&r2=1499845&view=diff
==============================================================================
--- tomcat/trunk/test/javax/el/TesterBean.java (original)
+++ tomcat/trunk/test/javax/el/TesterBean.java Thu Jul  4 19:26:52 2013
@@ -27,4 +27,9 @@ public class TesterBean {
     public String getName() {
         return name;
     }
+
+    @Override
+    public String toString() {
+        return getName();
+    }
 }

Modified: tomcat/trunk/test/javax/el/TesterBeanNameResolver.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/javax/el/TesterBeanNameResolver.java?rev=1499845&r1=1499844&r2=1499845&view=diff
==============================================================================
--- tomcat/trunk/test/javax/el/TesterBeanNameResolver.java (original)
+++ tomcat/trunk/test/javax/el/TesterBeanNameResolver.java Thu Jul  4 19:26:52 2013
@@ -25,10 +25,10 @@ public class TesterBeanNameResolver exte
     public static final String THROWABLE_TRIGGER_NAME = "exception";
 
     private Map<String,Object> beans = new HashMap<>();
-    private final boolean allowCreate;
+    private boolean allowCreate = true;
 
-    public TesterBeanNameResolver(boolean allowCreate) {
-        this.allowCreate = allowCreate;
+
+    public TesterBeanNameResolver() {
         beans.put(EXCEPTION_TRIGGER_NAME, new Object());
     }
 
@@ -60,4 +60,9 @@ public class TesterBeanNameResolver exte
     public boolean canCreateBean(String beanName) {
         return allowCreate;
     }
+
+
+    public void setAllowCreate(boolean allowCreate) {
+        this.allowCreate = allowCreate;
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org