You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by de...@apache.org on 2006/02/17 06:41:25 UTC
svn commit: r378439 - in /myfaces/core/trunk/impl: ./
src/test/java/org/apache/myfaces/config/
Author: dennisbyrne
Date: Thu Feb 16 21:41:24 2006
New Revision: 378439
URL: http://svn.apache.org/viewcvs?rev=378439&view=rev
Log:
New tests for old bug, and dependency on shale-test
Added:
myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/
myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/AbstractManagedBeanBuilderTestCase.java
myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/MangedBeanExample.java
myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/Myfaces889TestCase.java
Modified:
myfaces/core/trunk/impl/pom.xml
Modified: myfaces/core/trunk/impl/pom.xml
URL: http://svn.apache.org/viewcvs/myfaces/core/trunk/impl/pom.xml?rev=378439&r1=378438&r2=378439&view=diff
==============================================================================
--- myfaces/core/trunk/impl/pom.xml (original)
+++ myfaces/core/trunk/impl/pom.xml Thu Feb 16 21:41:24 2006
@@ -88,6 +88,13 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>struts</groupId>
+ <artifactId>shale-test</artifactId>
+ <version>1.0.1-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<build>
Added: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/AbstractManagedBeanBuilderTestCase.java
URL: http://svn.apache.org/viewcvs/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/AbstractManagedBeanBuilderTestCase.java?rev=378439&view=auto
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/AbstractManagedBeanBuilderTestCase.java (added)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/AbstractManagedBeanBuilderTestCase.java Thu Feb 16 21:41:24 2006
@@ -0,0 +1,133 @@
+package org.apache.myfaces.config;
+
+/**
+ * Creates an environment to easily test the creation and initialization of
+ * managed beans.
+ *
+ * @author Dennis C. Byrne
+ */
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+
+import javax.faces.application.Application;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.myfaces.application.ApplicationImpl;
+import org.apache.myfaces.config.ManagedBeanBuilder;
+import org.apache.myfaces.config.impl.digester.elements.ListEntries;
+import org.apache.myfaces.config.impl.digester.elements.ManagedBean;
+import org.apache.myfaces.config.impl.digester.elements.ManagedProperty;
+import org.apache.myfaces.config.impl.digester.elements.MapEntries;
+import org.apache.myfaces.config.impl.digester.elements.ListEntries.Entry;
+import org.apache.myfaces.el.PropertyResolverImpl;
+import org.apache.shale.test.mock.MockFacesContext;
+
+import junit.framework.TestCase;
+
+public abstract class AbstractManagedBeanBuilderTestCase extends TestCase {
+
+ private static Log log = LogFactory.getLog(AbstractManagedBeanBuilderTestCase.class);
+ protected MangedBeanExample example;
+
+ // managed property values
+ protected static final List MANAGED_LIST = new ArrayList();
+ protected static final Map MANAGED_MAP = new HashMap();
+ protected static final String INJECTED_VALUE = "tatiana";
+
+ /**
+ * Skips digester and manually builds and configures a managed bean.
+ */
+
+ protected void setUp() throws Exception {
+ ManagedBeanBuilder managedBeanBuilder = new ManagedBeanBuilder();
+ ManagedBean managedBean = new ManagedBean();
+
+ managedBean.setBeanClass(MangedBeanExample.class.getName());
+ managedBean.setName("managed");
+ managedBean.setScope("request");
+
+ // test methods of children will want to make sure these values come
+ // out on the other end of this.
+ MANAGED_LIST.add("0");
+ MANAGED_LIST.add("1");
+ MANAGED_LIST.add("2");
+ MANAGED_MAP.put("0", "0");
+ MANAGED_MAP.put("1", "1");
+ MANAGED_MAP.put("2", "2");
+
+ ManagedProperty managedProperty = new ManagedProperty();
+ managedProperty.setPropertyName("managedProperty");
+ managedProperty.setValue(INJECTED_VALUE);
+
+ ManagedProperty managedList = new ManagedProperty();
+ managedList.setPropertyName("managedList");
+ ListEntries listEntries = makeListEntries();
+ managedList.setListEntries(listEntries);
+
+ ManagedProperty writeOnlyList = new ManagedProperty();
+ writeOnlyList.setPropertyName("writeOnlyList");
+ ListEntries writeOnlyListEntries = makeListEntries();
+ writeOnlyList.setListEntries(writeOnlyListEntries);
+
+ ManagedProperty managedMap = new ManagedProperty();
+ managedMap.setPropertyName("managedMap");
+ MapEntries mapEntries = makeMapEntries();
+ managedMap.setMapEntries(mapEntries);
+
+ ManagedProperty writeOnlyMap = new ManagedProperty();
+ writeOnlyMap.setPropertyName("writeOnlyMap");
+ MapEntries writeOnlyMapEntries = makeMapEntries();
+ writeOnlyMap.setMapEntries(writeOnlyMapEntries);
+
+ managedBean.addProperty(managedProperty);
+ managedBean.addProperty(managedList);
+ managedBean.addProperty(writeOnlyList);
+ managedBean.addProperty(managedMap);
+ managedBean.addProperty(writeOnlyMap);
+
+ // provide the minimal environment
+ Application application = null;
+ application = new ApplicationImpl();
+ application.setPropertyResolver(new PropertyResolverImpl());
+ MockFacesContext facesContext = new MockFacesContext();
+ facesContext.setApplication(application);
+
+ // simulate a managed bean creation
+ example = (MangedBeanExample) managedBeanBuilder
+ .buildManagedBean(facesContext, managedBean);
+ }
+
+ protected void tearDown() throws Exception {
+ example = null;
+ MANAGED_LIST.clear();
+ MANAGED_MAP.clear();
+ }
+
+ private ListEntries makeListEntries(){
+ ListEntries listEntries = new ListEntries();
+
+ for(int i = 0; i < MANAGED_LIST.size(); i++){
+ Entry entry = new Entry();
+ entry.setValue((String) MANAGED_LIST.get(i));
+ listEntries.addEntry(entry);
+ }
+ return listEntries;
+ }
+
+ private MapEntries makeMapEntries(){
+ MapEntries mapEntries = new MapEntries();
+
+ for(int i = 0 ; i < MANAGED_MAP.size(); i++){
+ MapEntries.Entry mapEntry = new MapEntries.Entry();
+ mapEntry.setKey((String) MANAGED_MAP.get(i + ""));
+ mapEntry.setValue((String) MANAGED_MAP.get(i + ""));
+ mapEntries.addEntry(mapEntry);
+ }
+ return mapEntries;
+ }
+
+}
Added: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/MangedBeanExample.java
URL: http://svn.apache.org/viewcvs/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/MangedBeanExample.java?rev=378439&view=auto
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/MangedBeanExample.java (added)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/MangedBeanExample.java Thu Feb 16 21:41:24 2006
@@ -0,0 +1,58 @@
+package org.apache.myfaces.config;
+
+/**
+ * @author Dennis C. Byrne
+ */
+
+import java.util.List;
+import java.util.Map;
+
+public class MangedBeanExample {
+
+ private String managedProperty ;
+ private List managedList;
+ private List writeOnlyList;
+ private Map managedMap;
+ private Map writeOnlyMap;
+
+ public List getManagedList() {
+ return managedList;
+ }
+
+ public void setManagedList(List managedList) {
+ this.managedList = managedList;
+ }
+
+ public String getManagedProperty() {
+ return managedProperty;
+ }
+
+ public void setManagedProperty(String managedProperty) {
+ this.managedProperty = managedProperty;
+ }
+
+ public Map getManagedMap() {
+ return managedMap;
+ }
+
+ public void setManagedMap(Map managedMap) {
+ this.managedMap = managedMap;
+ }
+
+ public void setWriteOnlyList(List writeOnlyList) {
+ this.writeOnlyList = writeOnlyList;
+ }
+
+ public void setWriteOnlyMap(Map writeOnlyMap) {
+ this.writeOnlyMap = writeOnlyMap;
+ }
+
+ public Map getHiddenWriteOnlyMap() {
+ return writeOnlyMap;
+ }
+
+ public List getHiddenWriteOnlyList() {
+ return writeOnlyList;
+ }
+
+}
Added: myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/Myfaces889TestCase.java
URL: http://svn.apache.org/viewcvs/myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/Myfaces889TestCase.java?rev=378439&view=auto
==============================================================================
--- myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/Myfaces889TestCase.java (added)
+++ myfaces/core/trunk/impl/src/test/java/org/apache/myfaces/config/Myfaces889TestCase.java Thu Feb 16 21:41:24 2006
@@ -0,0 +1,98 @@
+package org.apache.myfaces.config;
+
+/**
+ * http://issues.apache.org/jira/browse/MYFACES-889?page=all
+ *
+ * @author Dennis C. Byrne
+ */
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class Myfaces889TestCase extends AbstractManagedBeanBuilderTestCase {
+
+ private static Log log = LogFactory.getLog(Myfaces889TestCase.class);
+
+ public void testWriteOnlyMap(){
+ assertTrue(example != null);
+ log.debug("managed bean successfully created");
+
+ Map writeOnlyMap = example.getHiddenWriteOnlyMap();
+
+ assertTrue(writeOnlyMap != null);
+ log.debug("managed map is not null");
+
+ scrutinizeMap(writeOnlyMap);
+ }
+
+ public void testManagedMap(){
+ assertTrue(example != null);
+ log.debug("managed bean successfully created");
+
+ Map managedMap = example.getManagedMap();
+
+ assertTrue(managedMap != null);
+ log.debug("managed map is not null");
+
+ scrutinizeMap(managedMap);
+ }
+
+ private void scrutinizeMap(Map map){
+ assertTrue(map.size() == 3);
+ log.debug("managed map has the correct size " + map.size());
+
+ for(int i = 0; i < map.size(); i++){
+ String entry = (String) map.get(i + "");
+ String config = (String) MANAGED_MAP.get(i + "");
+ log.debug("looking @ " + config + " and " + entry);
+ assertTrue(config.equals(entry));
+ }
+
+ }
+
+ public void testManagedList(){
+ assertTrue(example != null);
+ log.debug("managed bean successfully created");
+
+ List managedList = example.getManagedList();
+
+ scrutinizeList(managedList);
+ }
+
+ public void testWriteOnlyList(){
+ assertTrue(example != null);
+ log.debug("managed bean successfully created");
+
+ List writeOnlyList = example.getHiddenWriteOnlyList();
+
+ scrutinizeList(writeOnlyList);
+ }
+
+ private void scrutinizeList(List list){
+ assertTrue(list != null);
+ log.debug("managed list is not null " + list.size());
+ assertTrue(list.size() == 3);
+ log.debug("managed list has the correct size " + list.size());
+
+ for(int i = 0 ; i < list.size(); i++){
+ String entry = (String) list.get(i);
+ String config = (String) MANAGED_LIST.get(i);
+ log.debug("looking @ " + config + " and " + entry);
+ assertTrue(config.equals(entry));
+ }
+ }
+
+ public void testManagedProperty(){
+ assertTrue(example != null);
+ log.debug("managed bean successfully created");
+
+ String managedPropertyValue = example.getManagedProperty();
+
+ assertTrue(INJECTED_VALUE.equals(managedPropertyValue));
+ log.debug("managed property String has the correct value ");
+ }
+
+}