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