Author: ivaynberg Date: Wed Feb 24 19:09:29 2010 New Revision: 915928 URL: http://svn.apache.org/viewvc?rev=915928&view=rev Log: more tests wip, including some from WICKET-2758
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/SharedResources.java wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/PackageResource.java wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReferenceRegistry.java wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/PackageResourceTest.java Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/SharedResources.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/SharedResources.java?rev=915928&r1=915927&r2=915928&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/SharedResources.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/SharedResources.java Wed Feb 24 19:09:29 2010 @@ -100,4 +100,21 @@ { add(Application.class, name, null, null, null, resource); } + + /** + * Resolves a {...@link ResourceReference} for a shared resource. + * + * @param scope + * @param name + * @param locale + * @param style + * @param variation + * @param strict + * @return + */ + public ResourceReference get(Class<?> scope, String name, Locale locale, String style, + String variation, boolean strict) + { + return registry.getResourceReference(scope, name, locale, style, variation, strict); +} } Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/PackageResource.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/PackageResource.java?rev=915928&r1=915927&r2=915928&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/PackageResource.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/PackageResource.java Wed Feb 24 19:09:29 2010 @@ -154,6 +154,7 @@ { RequestCycle.get().replaceAllRequestHandlers(new AbortRequestHandler()); } + return; } new ResourceStreamResource(resourceStream).respond(attributes); Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReferenceRegistry.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReferenceRegistry.java?rev=915928&r1=915927&r2=915928&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReferenceRegistry.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReferenceRegistry.java Wed Feb 24 19:09:29 2010 @@ -150,7 +150,7 @@ ResourceReference res = map.get(key); if (strict) { - if (res == null) + if (res == null && createIfNotFound) { res = addDefaultResourceReference(scope, name, locale, style, variation); } Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=915928&r1=915927&r2=915928&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java Wed Feb 24 19:09:29 2010 @@ -280,9 +280,9 @@ } - public void processRequest() + public boolean processRequest() { - processRequest(null, null); + return processRequest(null, null); } /** @@ -307,12 +307,12 @@ * optional parameter to override parsing the request URL and force * {...@link IRequestHandler} */ - public void processRequest(MockWebRequest request, IRequestHandler forcedRequestHandler) + public boolean processRequest(MockWebRequest request, IRequestHandler forcedRequestHandler) { - processRequest(request, forcedRequestHandler, false); + return processRequest(request, forcedRequestHandler, false); } - private void processRequest(MockWebRequest request, IRequestHandler forcedRequestHandler, + private boolean processRequest(MockWebRequest request, IRequestHandler forcedRequestHandler, boolean redirect) { @@ -347,7 +347,10 @@ requestCycle.forceRequestHandler(forcedRequestHandler); } - requestCycle.processRequestAndDetach(); + if (!requestCycle.processRequestAndDetach()) + { + return false; + } recordRequestResponse(); setupNextRequestCycle(); @@ -376,11 +379,14 @@ --redirectCount; } + + return true; } finally { redirectCount = 0; } + } private void recordRequestResponse() @@ -1604,4 +1610,11 @@ { return requestCycle; } + + public MockWebResponse getResponse() + { + return response; + } + + } Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/PackageResourceTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/PackageResourceTest.java?rev=915928&r1=915927&r2=915928&view=diff ============================================================================== --- wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/PackageResourceTest.java (original) +++ wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/PackageResourceTest.java Wed Feb 24 19:09:29 2010 @@ -18,50 +18,32 @@ import java.util.Locale; -import junit.framework.TestCase; - -import org.apache.wicket.AbortException; import org.apache.wicket.Application; import org.apache.wicket.SharedResources; +import org.apache.wicket.WicketTestCase; import org.apache.wicket.ng.resource.PackageResource; +import org.apache.wicket.ng.resource.PackageResourceReference; +import org.apache.wicket.ng.resource.ResourceReference; import org.apache.wicket.protocol.http.WebApplication; -import org.apache.wicket.util.tester.WicketTester; /** * Tests for package resources. * * @author Eelco Hillenius */ -public class PackageResourceTest extends TestCase +public class PackageResourceTest extends WicketTestCase { /** mock application object */ public WebApplication application; /** - * Construct. - */ - public PackageResourceTest() - { - super(); - } - - /** - * Construct. - * - * @param name - */ - public PackageResourceTest(String name) - { - super(name); - } - - /** * @see junit.framework.TestCase#setUp() */ @Override protected void setUp() throws Exception { - application = new WicketTester().getApplication(); + super.setUp(); + application = tester.getApplication(); } /** @@ -72,11 +54,8 @@ public void testBindAbsolutePackageResource() throws Exception { final SharedResources sharedResources = Application.get().getSharedResources(); - PackageResource.bind(application, PackageResourceTest.class, "packaged1.txt"); assertNotNull("resource packaged1.txt should be available as a packaged resource", sharedResources.get(PackageResourceTest.class, "packaged1.txt", null, null, null, true)); - assertNull("resource packaged2.txt should NOT be available as a packaged resource", - sharedResources.get(PackageResourceTest.class, "packaged2.txt", null, null, null, true)); } /** @@ -107,12 +86,11 @@ */ public void testLenientPackageResourceMatching() throws Exception { - Application.get().getSharedResources(); - Resource invalidResource = new PackageResource(PackageResourceTest.class, "packaged3.txt", - Locale.ENGLISH, null, null); + ResourceReference invalidResource = new PackageResourceReference(PackageResourceTest.class, + "i_do_not_exist.txt", Locale.ENGLISH, null, null); assertNotNull( "resource packaged3.txt SHOULD be available as a packaged resource even if it doesn't exist", - invalidResource); + invalidResource.getResource()); assertTrue(PackageResource.exists(PackageResourceTest.class, "packaged1.txt", null, null, null)); @@ -141,13 +119,10 @@ assertTrue(PackageResource.exists(PackageResourceTest.class, "packaged1_foo_bar_en_US_MAC.txt", null, null, null)); - try - { - invalidResource.getResourceStream(); - fail("Should have raised an AbortException"); - } - catch (AbortException e) - { - } + tester.getRequest().setUrl(tester.getRequestCycle().urlFor(invalidResource)); + // since the resource does not exist wicket should let the handling fall through to the next + // filter/servlet which will cause a 404 later + assertFalse(tester.processRequest()); + } }