You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jc...@apache.org on 2012/02/26 14:55:32 UTC
git commit: try to make a relative path,
problem is still that if that is not possible a full path will be
send to the guard.
Updated Branches:
refs/heads/wicket-1.5.x 645a8e223 -> 15e9d8216
try to make a relative path, problem is still that if that is not
possible a full path will be send to the guard.
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/15e9d821
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/15e9d821
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/15e9d821
Branch: refs/heads/wicket-1.5.x
Commit: 15e9d82168f114364a4d7bde4f81be42a11aedd9
Parents: 645a8e2
Author: Johan Compagner <jc...@apache.org>
Authored: Sun Feb 26 14:54:39 2012 +0100
Committer: Johan Compagner <jc...@apache.org>
Committed: Sun Feb 26 14:54:39 2012 +0100
----------------------------------------------------------------------
.../wicket/request/resource/PackageResource.java | 16 +++++++
.../wicket/util/tester/WicketTesterTest.java | 35 +++++++++++++++
2 files changed, 51 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/15e9d821/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java b/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
index 398336a..931fdab 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/resource/PackageResource.java
@@ -417,6 +417,22 @@ public class PackageResource extends AbstractResource implements IStaticCacheabl
if (resourceStream instanceof IFixedLocationResourceStream)
{
realPath = ((IFixedLocationResourceStream)resourceStream).locationAsString();
+ if (realPath != null)
+ {
+ int index = realPath.indexOf(path);
+ if (index != -1)
+ {
+ realPath = realPath.substring(index);
+ }
+ else
+ // TODO just fall back on the full path without a scope..
+ return guard.accept(null, realPath);
+ }
+ else
+ {
+ realPath = path;
+ }
+
}
return guard.accept(scope, realPath);
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/15e9d821/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java b/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
index 59ce896..996617c 100644
--- a/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/WicketTesterTest.java
@@ -835,6 +835,7 @@ public class WicketTesterTest extends WicketTestCase
{
try
{
+ // todo, should there be a better check? because this call already fails..
tester.startPage(BlockedResourceLinkPage.class);
TagTester linkTag = TagTester.createTagByAttribute(tester.getLastResponseAsString(),
@@ -855,6 +856,40 @@ public class WicketTesterTest extends WicketTestCase
// assertNull(getRequestCodingStrategy());
}
+ /**
+ * Test that clickLink on a ResourceLink with a ResourceReference on it works.
+ *
+ * <p>
+ * See also WICKET-280 Allow to access html resources
+ * </p>
+ */
+ @Test
+ public void clickResourceLinkWithSomeCommaAppendedUrl()
+ {
+ try
+ {
+ // todo, should there be a better check? because this call already fails..
+ tester.startPage(BlockedResourceLinkPage.class);
+
+ TagTester linkTag = TagTester.createTagByAttribute(tester.getLastResponseAsString(),
+ "wicket:id", "link");
+ String url = linkTag.getAttribute("href");
+ url = url.replace("../", "wicket/");
+ url += ",xml";
+ tester.executeUrl(url);
+ fail("Accessing " + BlockedResourceLinkPage.class + " should have raised a " +
+ PackageResourceBlockedException.class);
+ }
+ catch (PackageResourceBlockedException e)
+ {
+// e.printStackTrace();
+ }
+
+ tester.startPage(MockResourceLinkPage.class);
+ tester.clickLink("link");
+ // assertNull(getRequestCodingStrategy());
+ }
+
// IRequestTargetUrlCodingStrategy getRequestCodingStrategy()
// {
// String relativePath = tester.getApplication().getWicketFilter().getRelativePath(