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; } }