You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by gv...@apache.org on 2005/09/18 18:37:54 UTC
svn commit: r289945 - in /struts/shale/trunk:
clay-plugin/src/test/org/apache/shale/clay/config/
test-framework/src/java/org/apache/shale/test/mock/
use-cases/src/test/org/apache/shale/usecases/remote/
use-cases/src/test/org/apache/shale/usecases/rolodex/
Author: gvanmatre
Date: Sun Sep 18 09:37:42 2005
New Revision: 289945
URL: http://svn.apache.org/viewcvs?rev=289945&view=rev
Log:
Extended the Mock ServletContext and Response. Refactored a few test cases to use the new mock implementations.
Modified:
struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java
struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockHttpServletResponse.java
struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockServletContext.java
struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListCategoriesTestCase.java
struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListLocalesTestCase.java
struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListStateNamesTestCase.java
struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/rolodex/RolodexTestCase.java
Modified: struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java (original)
+++ struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java Sun Sep 18 09:37:42 2005
@@ -15,9 +15,6 @@
*/
package org.apache.shale.clay.config;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
import java.util.Iterator;
import junit.framework.Test;
@@ -31,7 +28,6 @@
import org.apache.shale.clay.config.beans.ElementBean;
import org.apache.shale.clay.config.beans.TemplateConfigBean;
import org.apache.shale.test.base.AbstractViewControllerTestCase;
-import org.apache.shale.test.mock.MockServletContext;
// Tests that the clay component metadata can be loaded and inheritance resolved.
public class ConfigTestCase extends AbstractViewControllerTestCase {
@@ -121,39 +117,6 @@
loadComponents();
loadConverters();
loadValidators();
-
- // create an anonymous extension
- servletContext = new MockServletContext() {
- public InputStream getResourceAsStream(String path) {
-
- // Return a corresponding class loader resource
- ClassLoader classloader = Thread.currentThread()
- .getContextClassLoader();
- if (classloader == null)
- classloader = this.getClass().getClassLoader();
-
- return classloader.getResourceAsStream(path);
-
- };
-
- public URL getResource(String path) throws MalformedURLException {
-
- StringBuffer tmp = new StringBuffer(path);
- if (tmp.charAt(0) == '/')
- tmp.delete(0, 1);
-
- // Return a corresponding class loader resource
- ClassLoader classloader = Thread.currentThread()
- .getContextClassLoader();
- if (classloader == null)
- classloader = this.getClass().getClassLoader();
-
- URL url = classloader.getResource(tmp.toString());
- return url;
-
- }
-
- };
// sets the default html template suffix ".html"
servletContext.addInitParameter(Globals.CLAY_TEMPLATE_SUFFIX, ".html");
Modified: struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockHttpServletResponse.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockHttpServletResponse.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockHttpServletResponse.java (original)
+++ struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockHttpServletResponse.java Sun Sep 18 09:37:42 2005
@@ -18,7 +18,9 @@
import java.io.IOException;
import java.io.PrintWriter;
+import java.io.Writer;
import java.util.Locale;
+
import javax.servlet.ServletOutputStream;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
@@ -49,6 +51,7 @@
private String encoding = "ISO-8859-1";
private String contentType = "text/html";
+ private PrintWriter writer = null;
// -------------------------------------------- HttpServletResponse Methods
@@ -218,10 +221,12 @@
}
+ public void setWriter(PrintWriter writer) {
+ this.writer = writer;
+ }
+
public PrintWriter getWriter() throws IOException {
-
- throw new UnsupportedOperationException();
-
+ return writer;
}
Modified: struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockServletContext.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockServletContext.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockServletContext.java (original)
+++ struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockServletContext.java Sun Sep 18 09:37:42 2005
@@ -168,7 +168,18 @@
public URL getResource(String path) throws MalformedURLException {
// Return a corresponding class loader resource
- return this.getClass().getResource(path);
+ StringBuffer tmp = new StringBuffer(path);
+ if (tmp.charAt(0) == '/')
+ tmp.delete(0, 1);
+
+ // Return a corresponding class loader resource
+ ClassLoader classloader = Thread.currentThread()
+ .getContextClassLoader();
+ if (classloader == null)
+ classloader = this.getClass().getClassLoader();
+
+ URL url = classloader.getResource(tmp.toString());
+ return url;
}
Modified: struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListCategoriesTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListCategoriesTestCase.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListCategoriesTestCase.java (original)
+++ struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListCategoriesTestCase.java Sun Sep 18 09:37:42 2005
@@ -17,7 +17,6 @@
package org.apache.shale.usecases.remote;
import java.io.ByteArrayInputStream;
-import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
@@ -37,7 +36,6 @@
import org.apache.shale.faces.ShaleWebContext;
import org.apache.shale.remote.RemoteCommand;
import org.apache.shale.test.base.AbstractViewControllerTestCase;
-import org.apache.shale.test.mock.MockHttpServletResponse;
import org.apache.shale.usecases.view.Domains;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
@@ -96,11 +94,7 @@
// response buffer
dataPickle = new StringWriter();
responseWriter = new PrintWriter(dataPickle);
- response = new MockHttpServletResponse() {
- public PrintWriter getWriter() throws IOException {
- return responseWriter;
- };
- };
+ response.setWriter(responseWriter);
// create a fake shale context
swcontext = new ShaleWebContext(servletContext,
Modified: struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListLocalesTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListLocalesTestCase.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListLocalesTestCase.java (original)
+++ struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListLocalesTestCase.java Sun Sep 18 09:37:42 2005
@@ -17,7 +17,6 @@
package org.apache.shale.usecases.remote;
import java.io.ByteArrayInputStream;
-import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
@@ -37,7 +36,6 @@
import org.apache.shale.faces.ShaleWebContext;
import org.apache.shale.remote.RemoteCommand;
import org.apache.shale.test.base.AbstractViewControllerTestCase;
-import org.apache.shale.test.mock.MockHttpServletResponse;
import org.apache.shale.usecases.view.Domains;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
@@ -96,11 +94,7 @@
// response buffer
dataPickle = new StringWriter();
responseWriter = new PrintWriter(dataPickle);
- response = new MockHttpServletResponse() {
- public PrintWriter getWriter() throws IOException {
- return responseWriter;
- };
- };
+ response.setWriter(responseWriter);
// create a fake shale context
swcontext = new ShaleWebContext(servletContext,
Modified: struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListStateNamesTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListStateNamesTestCase.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListStateNamesTestCase.java (original)
+++ struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListStateNamesTestCase.java Sun Sep 18 09:37:42 2005
@@ -17,7 +17,6 @@
package org.apache.shale.usecases.remote;
import java.io.ByteArrayInputStream;
-import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
@@ -37,7 +36,6 @@
import org.apache.shale.faces.ShaleWebContext;
import org.apache.shale.remote.RemoteCommand;
import org.apache.shale.test.base.AbstractViewControllerTestCase;
-import org.apache.shale.test.mock.MockHttpServletResponse;
import org.apache.shale.usecases.view.Domains;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
@@ -96,11 +94,7 @@
// response buffer
dataPickle = new StringWriter();
responseWriter = new PrintWriter(dataPickle);
- response = new MockHttpServletResponse() {
- public PrintWriter getWriter() throws IOException {
- return responseWriter;
- };
- };
+ response.setWriter(responseWriter);
// create a fake shale context
swcontext = new ShaleWebContext(servletContext,
Modified: struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/rolodex/RolodexTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/rolodex/RolodexTestCase.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/rolodex/RolodexTestCase.java (original)
+++ struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/rolodex/RolodexTestCase.java Sun Sep 18 09:37:42 2005
@@ -4,8 +4,6 @@
import java.net.URLEncoder;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
import javax.faces.el.ValueBinding;
@@ -15,7 +13,6 @@
import org.apache.shale.clay.component.Clay;
import org.apache.shale.clay.config.beans.ComponentBean;
import org.apache.shale.test.base.AbstractViewControllerTestCase;
-import org.apache.shale.test.mock.MockExternalContext;
public class RolodexTestCase extends AbstractViewControllerTestCase {
@@ -36,30 +33,6 @@
// setup the test case
public void setUp() {
super.setUp();
-
- // add some more mock support
- externalContext = new MockExternalContext(servletContext, request,
- response) {
- public Map getRequestParameterMap() {
- Map targetMap = new TreeMap();
- Map params = request.getParameterMap();
- Iterator pi = params.entrySet().iterator();
- while (pi.hasNext()) {
- Map.Entry e = (Map.Entry) pi.next();
- // holds multiple params with the same name
- String[] values = (String[]) e.getValue();
- // Simulates clearing the HTTP request. This test
- // will only require single parameters but I don't
- // want to create a new request each itteration
- targetMap.put(e.getKey(), values[values.length - 1]);
- }
-
- return targetMap;
- }
-
- };
- // hookup an new reference
- facesContext.setExternalContext(externalContext);
// create the target view controller to test
viewController = new Rolodex();
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org