You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/03/07 15:14:17 UTC
git commit: WICKET-4437 BaseWicketTester.clickLink() does not work
with a ResourceLink
Updated Branches:
refs/heads/wicket-1.5.x f86fe6ef4 -> b58a5ea76
WICKET-4437 BaseWicketTester.clickLink() does not work with a ResourceLink
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/b58a5ea7
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/b58a5ea7
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/b58a5ea7
Branch: refs/heads/wicket-1.5.x
Commit: b58a5ea76cf2056b67ebcf35215e47552fdbfe5c
Parents: f86fe6e
Author: martin-g <mg...@apache.org>
Authored: Wed Mar 7 16:13:38 2012 +0200
Committer: martin-g <mg...@apache.org>
Committed: Wed Mar 7 16:13:38 2012 +0200
----------------------------------------------------------------------
.../wicket/util/tester/BaseWicketTester.java | 13 ++++++--
.../wicket/util/tester/WicketTesterTest.java | 23 +++++++++++++++
2 files changed, 33 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/b58a5ea7/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
index f520328..8ab6671 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
@@ -49,6 +49,7 @@ import org.apache.wicket.IPageManagerProvider;
import org.apache.wicket.IPageRendererProvider;
import org.apache.wicket.IRequestCycleProvider;
import org.apache.wicket.IRequestListener;
+import org.apache.wicket.IResourceListener;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.Page;
import org.apache.wicket.RequestListenerInterface;
@@ -82,6 +83,7 @@ import org.apache.wicket.markup.html.link.AbstractLink;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.link.ILinkListener;
import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.markup.html.link.ResourceLink;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.parser.XmlPullParser;
@@ -1909,7 +1911,6 @@ public class BaseWicketTester
bookmarkablePageLink, (Object[])null);
startPage(bookmarkablePageLink.getPageClass(), parameters);
- return;
}
catch (Exception e)
{
@@ -1917,8 +1918,14 @@ public class BaseWicketTester
+ "Please report this in Wicket's Issue Tracker.", e);
}
}
-
- executeListener(link, ILinkListener.INTERFACE);
+ else if (link instanceof ResourceLink)
+ {
+ executeListener(link, IResourceListener.INTERFACE);
+ }
+ else
+ {
+ executeListener(link, ILinkListener.INTERFACE);
+ }
}
else
{
http://git-wip-us.apache.org/repos/asf/wicket/blob/b58a5ea7/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 7e0f4d8..435dc31 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
@@ -44,6 +44,8 @@ import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.FormComponent;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.markup.html.link.PageWithLink;
+import org.apache.wicket.markup.html.link.ResourceLink;
import org.apache.wicket.markup.html.pages.AccessDeniedPage;
import org.apache.wicket.model.IModel;
import org.apache.wicket.protocol.http.WebApplication;
@@ -55,8 +57,10 @@ import org.apache.wicket.request.handler.BookmarkablePageRequestHandler;
import org.apache.wicket.request.handler.IPageProvider;
import org.apache.wicket.request.handler.PageProvider;
import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.request.resource.ByteArrayResource;
import org.apache.wicket.request.resource.PackageResource.PackageResourceBlockedException;
import org.apache.wicket.resource.DummyPage;
+import org.apache.wicket.util.crypt.CharEncoding;
import org.apache.wicket.util.string.StringValue;
import org.apache.wicket.util.tester.DummyHomePage.TestLink;
import org.apache.wicket.util.tester.MockPageParameterPage.MockInnerClassPage;
@@ -1146,4 +1150,23 @@ public class WicketTesterTest extends WicketTestCase
.getApplicationSettings()
.getAccessDeniedPage());
}
+
+ /**
+ * https://issues.apache.org/jira/browse/WICKET-4437
+ *
+ * Clicking on ResourceLink should deliver the resource content
+ */
+ @Test
+ public void clickResourceLink()
+ {
+ MockPageWithLink page = new MockPageWithLink();
+ String content = "content";
+ ByteArrayResource resource = new ByteArrayResource("text/plain", content.getBytes(), "fileName.txt");
+ ResourceLink<Void> link = new ResourceLink<Void>(MockPageWithLink.LINK_ID, resource);
+ page.add(link);
+ tester.startPage(page);
+ tester.clickLink(MockPageWithLink.LINK_ID, false);
+ assertEquals(tester.getContentTypeFromResponseHeader(), "text/plain");
+ assertEquals(content, tester.getLastResponseAsString());
+ }
}