Author: ivaynberg Date: Mon Mar 1 23:24:04 2010 New Revision: 917789 URL: http://svn.apache.org/viewvc?rev=917789&view=rev Log: test fixes
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/FormTester.java wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadFieldTest.java wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/TestFileUploadError.java wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java?rev=917789&r1=917788&r2=917789&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java Mon Mar 1 23:24:04 2010 @@ -254,6 +254,7 @@ UploadedFile uf = new UploadedFile(fieldName, file, contentType); uploadedFiles.put(fieldName, uf); + setUseMultiPartContentType(true); } /** @@ -1469,14 +1470,19 @@ for (Iterator<String> iterator = post.getParameterNames().iterator(); iterator.hasNext();) { final String name = iterator.next(); - newAttachment(out); - out.write("; name=\"".getBytes()); - out.write(name.getBytes()); - out.write("\"".getBytes()); - out.write(crlf.getBytes()); - out.write(crlf.getBytes()); - out.write(post.getParameterValue(name).toString().getBytes()); - out.write(crlf.getBytes()); + List<org.apache.wicket.util.string.StringValue> values = post.getParameterValues(name); + for (org.apache.wicket.util.string.StringValue value : values) + { + newAttachment(out); + out.write("; name=\"".getBytes()); + out.write(name.getBytes()); + out.write("\"".getBytes()); + out.write(crlf.getBytes()); + out.write(crlf.getBytes()); + out.write(post.getParameterValue(name).toString().getBytes()); + out.write(crlf.getBytes()); + } + } // Add files Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/FormTester.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/FormTester.java?rev=917789&r1=917788&r2=917789&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/FormTester.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/FormTester.java Mon Mar 1 23:24:04 2010 @@ -16,6 +16,7 @@ */ package org.apache.wicket.util.tester; + import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -40,6 +41,9 @@ import org.apache.wicket.markup.html.form.Radio; import org.apache.wicket.markup.html.form.RadioChoice; import org.apache.wicket.markup.html.form.RadioGroup; +import org.apache.wicket.markup.html.form.upload.FileUploadField; +import org.apache.wicket.protocol.http.mock.MockHttpServletRequest; +import org.apache.wicket.util.file.File; import org.apache.wicket.util.string.StringValue; import org.apache.wicket.util.string.Strings; @@ -624,22 +628,22 @@ * @param contentType * the content type of the file. Must be a valid mime type. */ -// public void setFile(final String formComponentId, final File file, final String contentType) -// { -// checkClosed(); -// -// FormComponent<?> formComponent = (FormComponent<?>)workingForm.get(formComponentId); -// -// if (formComponent instanceof FileUploadField == false) -// { -// throw new IllegalArgumentException("'" + formComponentId + "' is not " + -// "a FileUploadField. You can only attach a file to form " + -// "component of this type."); -// } -// -// MockHttpServletRequest servletRequest = baseWicketTester.getServletRequest(); -// servletRequest.addFile(formComponent.getInputName(), file, contentType); -// } + public void setFile(final String formComponentId, final File file, final String contentType) + { + checkClosed(); + + FormComponent<?> formComponent = (FormComponent<?>)workingForm.get(formComponentId); + + if (formComponent instanceof FileUploadField == false) + { + throw new IllegalArgumentException("'" + formComponentId + "' is not " + + "a FileUploadField. You can only attach a file to form " + + "component of this type."); + } + + MockHttpServletRequest servletRequest = tester.getRequest(); + servletRequest.addFile(formComponent.getInputName(), file, contentType); + } /** * Submits the <code>Form</code>. Note that <code>submit</code> can be executed only once. @@ -738,9 +742,8 @@ { if (parameterExist(formComponent)) { - List<StringValue> values = tester.getRequest() - .getPostParameters() - .getParameterValues(formComponent.getInputName()); + List<StringValue> values = tester.getRequest().getPostParameters().getParameterValues( + formComponent.getInputName()); // remove duplicated HashSet<String> all = new HashSet<String>(); @@ -786,10 +789,8 @@ */ private boolean parameterExist(FormComponent<?> formComponent) { - String parameter = tester.getRequest() - .getPostParameters() - .getParameterValue(formComponent.getInputName()) - .toString(); + String parameter = tester.getRequest().getPostParameters().getParameterValue( + formComponent.getInputName()).toString(); return parameter != null && parameter.trim().length() > 0; } @@ -803,8 +804,8 @@ */ private void setFormComponentValue(FormComponent<?> formComponent, String value) { - tester.getRequest().getPostParameters().setParameterValue( - formComponent.getInputName(), value); + tester.getRequest().getPostParameters().setParameterValue(formComponent.getInputName(), + value); } /** @@ -817,8 +818,7 @@ */ private void setFormSubmittingComponentValue(IFormSubmittingComponent component, String value) { - tester.getRequest().getPostParameters().setParameterValue( - component.getInputName(), value); + tester.getRequest().getPostParameters().setParameterValue(component.getInputName(), value); } private void fail(String message) Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadFieldTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadFieldTest.java?rev=917789&r1=917788&r2=917789&view=diff ============================================================================== --- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadFieldTest.java (original) +++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadFieldTest.java Mon Mar 1 23:24:04 2010 @@ -58,15 +58,7 @@ { final MockPageWithFormAndUploadField page = new MockPageWithFormAndUploadField(); - tester.startPage(new ITestPageSource() - { - private static final long serialVersionUID = 1L; - - public Page getTestPage() - { - return page; - } - }); + tester.startPage(page); File tmp = null; try Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/TestFileUploadError.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/TestFileUploadError.java?rev=917789&r1=917788&r2=917789&view=diff ============================================================================== --- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/TestFileUploadError.java (original) +++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/upload/TestFileUploadError.java Mon Mar 1 23:24:04 2010 @@ -44,9 +44,16 @@ tester.startPage(FileUploadError.class); tester.assertRenderedPage(FileUploadError.class); // Set locale to fix error messages on this test. - tester.getWicketSession().setLocale(Locale.ENGLISH); + tester.getSession().setLocale(Locale.ENGLISH); // formTester = tester.newFormTester("form"); + tester.getRequest().setUseMultiPartContentType(true); + } + + @Override + protected void tearDown() throws Exception + { + tester.destroy(); } /** Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java?rev=917789&r1=917788&r2=917789&view=diff ============================================================================== --- wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java (original) +++ wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/FormTesterTest.java Mon Mar 1 23:24:04 2010 @@ -98,8 +98,6 @@ MockFormFileUploadPage page = (MockFormFileUploadPage)tester.getLastRenderedPage(); MockDomainObjectFileUpload domainObject = page.getDomainObject(); - tester.createRequestCycle(); - assertNull(page.getFileUpload()); assertNotNull(domainObject); assertNull(domainObject.getText()); @@ -134,8 +132,6 @@ MockFormFileUploadPage page = (MockFormFileUploadPage)tester.getLastRenderedPage(); MockDomainObjectFileUpload domainObject = page.getDomainObject(); - tester.createRequestCycle(); - assertNull(page.getFileUpload()); assertNotNull(domainObject); assertNull(domainObject.getText()); @@ -166,12 +162,14 @@ */ public void testSubmitWithoutUploadFile() { - tester.startPage(MockFormFileUploadPage.class); + tester.startPage(MockFormFileUploadPage.class, new PageParameters("required=true")); MockFormFileUploadPage page = (MockFormFileUploadPage)tester.getLastRenderedPage(); Session.get().setLocale(Locale.US); FormTester formTester = tester.newFormTester("form"); + + tester.getRequest().setUseMultiPartContentType(true); // without file upload formTester.submit(); assertNull(page.getFileUpload()); @@ -192,6 +190,8 @@ FormTester formTester = tester.newFormTester("form"); formTester.setValue("text", "Mock Value"); + + tester.getRequest().setUseMultiPartContentType(true); formTester.submit(); assertFalse(formTester.getForm().hasError()); Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java?rev=917789&r1=917788&r2=917789&view=diff ============================================================================== --- wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java (original) +++ wicket/trunk/wicket/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java Mon Mar 1 23:24:04 2010 @@ -27,6 +27,7 @@ import org.apache.wicket.model.Model; import org.apache.wicket.ng.request.component.PageParameters; import org.apache.wicket.util.lang.Bytes; +import org.apache.wicket.util.string.StringValue; /** * Mock form for use when testing FormTester's addFile functionality. @@ -72,6 +73,10 @@ private FileUpload fileUpload; + /** + * Construct. + */ + @SuppressWarnings("deprecation") public MockFormFileUploadPage() { this(new PageParameters("required=true")); @@ -99,7 +104,9 @@ form.setMaxSize(Bytes.kilobytes(100)); form.add(new TextField<String>("text")); fileUploadField = new FileUploadField("file", new Model<FileUpload>()); - fileUploadField.setRequired(param.getNamedParameter("required").toBoolean()); + StringValue requiredParam = param.getNamedParameter("required"); + boolean required = requiredParam.toBoolean(); + fileUploadField.setRequired(required); form.add(fileUploadField); }