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());
+
        }
 }


Reply via email to