Author: markt Date: Thu Jul 4 15:47:18 2013 New Revision: 1499794 URL: http://svn.apache.org/r1499794 Log: Add the first of the setValue tests and some plumbing that will be required by future tests.
Modified: tomcat/trunk/test/javax/el/TestBeanNameELResolver.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=1499794&r1=1499793&r2=1499794&view=diff ============================================================================== --- tomcat/trunk/test/javax/el/TestBeanNameELResolver.java (original) +++ tomcat/trunk/test/javax/el/TestBeanNameELResolver.java Thu Jul 4 15:47:18 2013 @@ -32,8 +32,13 @@ public class TestBeanNameELResolver { * resolver with the same configuration. */ private BeanNameELResolver createBeanNameELResolver() { + return createBeanNameELResolver(false); + } + + private BeanNameELResolver createBeanNameELResolver(boolean allowCreate) { - BeanNameResolver beanNameResolver = new TesterBeanNameResolver(); + BeanNameResolver beanNameResolver = + new TesterBeanNameResolver(allowCreate); beanNameResolver.setBeanValue(BEAN01_NAME, BEAN01); beanNameResolver.setBeanValue(BEAN02_NAME, BEAN02); @@ -166,4 +171,14 @@ public class TestBeanNameELResolver { Throwable cause = elException.getCause(); Assert.assertNotNull(cause); } + + + /** + * Tests that a null context results in an NPE as per EL Javadoc. + */ + @Test(expected=NullPointerException.class) + public void testSetValue01() { + BeanNameELResolver resolver = createBeanNameELResolver(); + resolver.setValue(null, new Object(), new Object(), new Object()); + } } Modified: tomcat/trunk/test/javax/el/TesterBeanNameResolver.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/javax/el/TesterBeanNameResolver.java?rev=1499794&r1=1499793&r2=1499794&view=diff ============================================================================== --- tomcat/trunk/test/javax/el/TesterBeanNameResolver.java (original) +++ tomcat/trunk/test/javax/el/TesterBeanNameResolver.java Thu Jul 4 15:47:18 2013 @@ -25,15 +25,19 @@ public class TesterBeanNameResolver exte public static final String THROWABLE_TRIGGER_NAME = "exception"; private Map<String,Object> beans = new HashMap<>(); + private final boolean allowCreate; - public TesterBeanNameResolver() { + public TesterBeanNameResolver(boolean allowCreate) { + this.allowCreate = allowCreate; beans.put(EXCEPTION_TRIGGER_NAME, new Object()); } @Override public void setBeanValue(String beanName, Object value) throws PropertyNotWritableException { - beans.put(beanName, value); + if (allowCreate || beans.containsKey(beanName)) { + beans.put(beanName, value); + } } @Override @@ -51,4 +55,9 @@ public class TesterBeanNameResolver exte } return beans.get(beanName); } + + @Override + public boolean canCreateBean(String beanName) { + return allowCreate; + } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org