Author: jbq
Date: Tue Aug 21 10:11:18 2007
New Revision: 568195

URL: http://svn.apache.org/viewvc?rev=568195&view=rev
Log:
Rework unit test after WICKET-728 WicketTester could not handle Multipart form 
without upload

Modified:
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadFieldTest.java
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/MockPageWithFormAndUploadField.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadFieldTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadFieldTest.java?rev=568195&r1=568194&r2=568195&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadFieldTest.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadFieldTest.java
 Tue Aug 21 10:11:18 2007
@@ -23,12 +23,11 @@
 import java.io.OutputStream;
 
 import org.apache.wicket.Page;
-import org.apache.wicket.RequestCycle;
 import org.apache.wicket.WicketTestCase;
 import org.apache.wicket.protocol.http.MockHttpServletRequest;
-import org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest;
+import org.apache.wicket.protocol.http.WebRequestCycle;
 import org.apache.wicket.util.file.File;
-import org.apache.wicket.util.lang.Bytes;
+import org.apache.wicket.util.tester.FormTester;
 import org.apache.wicket.util.tester.ITestPageSource;
 
 
@@ -47,22 +46,15 @@
        {
                super("Test of FileUploadField");
        }
-       
-       public void testDummy() {
-               // FIXME WICKET-728 broke this
-       }
 
        /**
         * Test that detach closes the streams
         * 
         * @throws Exception 
         */
-       public void bugTestInternalDetach() throws Exception
+       public void testInternalDetach() throws Exception
        {
                final MockPageWithFormAndUploadField page = new 
MockPageWithFormAndUploadField();
-               
-               FileUploadField field = new FileUploadField("upload");
-               page.getForm().add(field);
 
                tester.startPage(new ITestPageSource() 
                {
@@ -74,13 +66,6 @@
                        }
                });
 
-               // Setup the request. It should be a IMultipartWebRequest
-               RequestCycle requestCycle = tester.createRequestCycle();
-               MockHttpServletRequest servletRequest = 
tester.getServletRequest();
-               servletRequest.setMethod("POST");
-               servletRequest.setParameter("form2:hf:fs", "");
-               servletRequest.setParameter("wicketState", "");
-               
                File tmp = null;
                try {
                        // Write out a large text file. We need to make this 
file reasonably sizable,
@@ -100,15 +85,12 @@
                        os.close();
                
                        // Let's upload the dtd file. It's large enough to 
avoid being in memory.
-                       servletRequest.addFile("upload", tmp, "text/plain");
-       
-                       requestCycle.setRequest(new 
MultipartServletWebRequest(servletRequest, Bytes.MAX));
-
-                       // attach manually for the test
-                       field.attach();
+                       FormTester formtester = tester.newFormTester("form");
+                       formtester.setFile("upload", tmp, "text/plain");
+                   formtester.submit();
                        
                        // Get the file upload
-                       FileUpload fileUpload = field.getFileUpload();
+                       FileUpload fileUpload = page.getFileUpload();
                        
                        assertNotNull(fileUpload);
                        
@@ -118,13 +100,13 @@
                        // We should be able to read a byte
                        assertTrue(is.read() != -1);
                        
-                       field.detach();
+                       fileUpload.closeStreams();
                        
                        // The input stream should be closed so we shouldn't be 
able to read any more bytes
                        try 
                        {
                                is.read();
-                               fail();
+                               fail("The input stream should be closed so we 
shouldn't be able to read any more bytes");
                        } 
                        catch (IOException e)
                        {

Modified: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/MockPageWithFormAndUploadField.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/MockPageWithFormAndUploadField.java?rev=568195&r1=568194&r2=568195&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/MockPageWithFormAndUploadField.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/MockPageWithFormAndUploadField.java
 Tue Aug 21 10:11:18 2007
@@ -29,13 +29,28 @@
        private static final long serialVersionUID = 1L;
 
        private final Form form;
-       
+       private final FileUploadField fileUploadField;
+       private FileUpload fileUpload;
+
        /**
         * Construct.
         */
        public MockPageWithFormAndUploadField()
        {
-               form = new Form("form");
+               form = new Form("form")
+               {
+                       /**
+                        * 
+                        */
+                       private static final long serialVersionUID = 1L;
+
+                       protected void onSubmit()
+                       {
+                               fileUpload = fileUploadField.getFileUpload();
+                       }
+               };
+               fileUploadField = new FileUploadField("upload");
+               form.add(fileUploadField);
                add(form);
        }
 
@@ -45,5 +60,13 @@
        public Form getForm()
        {
                return form;
+       }
+
+       /**
+        * @return fileUpload
+        */
+       public FileUpload getFileUpload()
+       {
+               return fileUpload;
        }
 }


Reply via email to