You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2009/05/14 21:41:45 UTC

svn commit: r774897 - /incubator/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2Test.java

Author: fmeschbe
Date: Thu May 14 19:41:45 2009
New Revision: 774897

URL: http://svn.apache.org/viewvc?rev=774897&view=rev
Log:
SLING-968 Unit test for special $ handling

Modified:
    incubator/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2Test.java

Modified: incubator/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2Test.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2Test.java?rev=774897&r1=774896&r2=774897&view=diff
==============================================================================
--- incubator/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2Test.java (original)
+++ incubator/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrResourceResolver2Test.java Thu May 14 19:41:45 2009
@@ -303,27 +303,61 @@
             null, -1, rootPath);
         Node localhost443 = mapRoot.getNode("map/https/localhost.443");
         Node toContent = localhost443.addNode("_playground_designground_",
-            "sling:Mapping");
+        "sling:Mapping");
         toContent.setProperty(JcrResourceResolver2.PROP_REG_EXP,
-            "(playground|designground)");
+        "(playground|designground)");
         toContent.setProperty(JcrResourceResolver2.PROP_REDIRECT_INTERNAL,
-            "/content/$1");
+        "/content/$1");
         session.save();
-
+        
         Thread.sleep(1000L);
-
+        
         Resource res = resResolver.resolve(request, "/playground.html");
         assertNotNull(res);
         assertEquals("/content/playground.html", res.getPath());
-
+        
         res = resResolver.resolve(request, "/playground/en.html");
         assertNotNull(res);
         assertEquals("/content/playground/en.html", res.getPath());
-
+        
         res = resResolver.resolve(request, "/libs/nt/folder.html");
         assertNotNull(res);
         assertEquals("/libs/nt/folder.html", res.getPath());
     }
+    
+    public void testResolveResourceInternalRedirectExact() throws Exception {
+        HttpServletRequest request = new ResourceResolverTestRequest("https",
+            null, -1, rootPath);
+        Node localhost443 = mapRoot.getNode("map/https/localhost.443");
+        Node toContent = localhost443.addNode("virtual", "sling:Mapping");
+        toContent.setProperty(JcrResourceResolver2.PROP_REG_EXP,
+            "virtual$");
+        toContent.setProperty(JcrResourceResolver2.PROP_REDIRECT_INTERNAL,
+            "/content/virtual.html");
+        session.save();
+
+        Thread.sleep(1000L);
+
+        Resource res = resResolver.resolve(request, "/virtual");
+        assertNotNull(res);
+        assertEquals("/content/virtual.html", res.getPath());
+
+        res = resResolver.resolve(request, "/virtual.html");
+        assertNotNull(res);
+        assertEquals("/virtual.html", res.getPath());
+
+        res = resResolver.resolve(request, "/virtual/child.html");
+        assertNotNull(res);
+        assertEquals("/virtual/child.html", res.getPath());
+        
+        String url = resResolver.map(null, "/content/virtual.html");
+        assertNotNull(url);
+        assertEquals("https://localhost/virtual", url);
+        
+        url = resResolver.map(request, "/content/virtual.html");
+        assertNotNull(url);
+        assertEquals("/virtual", url);
+    }
 
     public void testResolveVirtualHostHttp80() throws Exception {
         HttpServletRequest request = new ResourceResolverTestRequest(null,