Author: jbq
Date: Tue Aug 21 09:14:14 2007
New Revision: 568186

URL: http://svn.apache.org/viewvc?rev=568186&view=rev
Log:
Adding failing test for WICKET-807 MockHttpServletRequest.addFile does not work 
with binary files

Added:
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/bg.jpg
      - copied unchanged from r568047, 
wicket/trunk/jdk-1.5/wicket-examples/src/main/webapp/tabs3/bg.jpg
Modified:
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java?rev=568186&r1=568185&r2=568186&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java
 Tue Aug 21 09:14:14 2007
@@ -77,6 +77,42 @@
                tester.startPage(MockFormFileUploadPage.class);
                MockFormFileUploadPage page = 
(MockFormFileUploadPage)tester.getLastRenderedPage();
                MockDomainObjectFileUpload domainObject = 
page.getDomainObject();
+       
+               tester.createRequestCycle();
+       
+               assertNull(page.getFileUpload());
+               assertNotNull(domainObject);
+               assertNull(domainObject.getText());
+       
+       
+               FormTester formTester = tester.newFormTester("form");
+               formTester.setFile("file", new File("pom.xml"), "text/xml");
+               formTester.setValue("text", "Mock value");
+               formTester.submit();
+       
+       
+               assertNotNull(domainObject);
+               assertNotNull(domainObject.getText());
+               assertEquals("Mock value", domainObject.getText());
+       
+               FileUpload fileUpload = page.getFileUpload();
+               assertNotNull(fileUpload);
+       
+               assertTrue("setFile failed, no upload content detected.", 
fileUpload.getBytes().length > 0);
+               assertEquals("pom.xml", fileUpload.getClientFileName());
+               assertEquals("text/xml", fileUpload.getContentType());
+       }
+
+       /**
+        * Test that the user can use
+        * [EMAIL PROTECTED] FormTester#setFile(String, 
org.apache.wicket.util.file.File, String)} to test
+        * that upload to a FileUploadField works.
+        */
+       public void bugTestAddBinaryFile()
+       {
+               tester.startPage(MockFormFileUploadPage.class);
+               MockFormFileUploadPage page = 
(MockFormFileUploadPage)tester.getLastRenderedPage();
+               MockDomainObjectFileUpload domainObject = 
page.getDomainObject();
 
                tester.createRequestCycle();
 
@@ -86,7 +122,7 @@
 
 
                FormTester formTester = tester.newFormTester("form");
-               formTester.setFile("file", new File("pom.xml"), "text/xml");
+               formTester.setFile("file", new 
File("src/test/java/org/apache/wicket/util/tester/bg.jpg"), "image/jpeg");
                formTester.setValue("text", "Mock value");
                formTester.submit();
 
@@ -98,9 +134,9 @@
                FileUpload fileUpload = page.getFileUpload();
                assertNotNull(fileUpload);
 
-               assertTrue("setFile failed, no upload content detected.", 
fileUpload.getBytes().length > 0);
-               assertEquals("pom.xml", fileUpload.getClientFileName());
-               assertEquals("text/xml", fileUpload.getContentType());
+               assertTrue("uploaded content does not have the right size, 
expected 428, got " + fileUpload.getBytes().length, 
fileUpload.getBytes().length == 428);
+               assertEquals("bg.jpg", fileUpload.getClientFileName());
+               assertEquals("image/jpeg", fileUpload.getContentType());
        }
 
        /**


Reply via email to