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 2013/02/27 14:35:40 UTC
[3/3] git commit: WICKET-5057 FilteringHeaderResponse requires a
usage of FilteringHeaderResponse.IHeaderResponseFilter for no reason when
FilteredHeaderItem is used
Updated Branches:
refs/heads/master 25294f4d9 -> 57ee84925
WICKET-5057 FilteringHeaderResponse requires a usage of FilteringHeaderResponse.IHeaderResponseFilter for no reason when FilteredHeaderItem is used
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/57ee8492
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/57ee8492
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/57ee8492
Branch: refs/heads/master
Commit: 57ee8492570da600176d10d1f9d15c3e0a466934
Parents: a5dbd6e
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Feb 27 15:34:42 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Feb 27 15:34:42 2013 +0200
----------------------------------------------------------------------
.../head/filter/FilteringHeaderResponse.java | 6 +++
.../head/filter/FilteringHeaderResponseTest.java | 30 +++++++++++++++
2 files changed, 36 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/57ee8492/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
index b3ec1d8..546eb5e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponse.java
@@ -152,6 +152,12 @@ public class FilteringHeaderResponse extends DecoratingHeaderResponse
if (item instanceof FilteredHeaderItem)
{
String filterName = ((FilteredHeaderItem)item).getFilterName();
+
+ if (responseFilterMap.containsKey(filterName) == false)
+ {
+ responseFilterMap.put(filterName, new ArrayList<HeaderItem>());
+ }
+
render(item, filterName);
}
else
http://git-wip-us.apache.org/repos/asf/wicket/blob/57ee8492/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponseTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponseTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponseTest.java
index 8cc5d91..5e695a5 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponseTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponseTest.java
@@ -16,9 +16,15 @@
*/
package org.apache.wicket.markup.head.filter;
+import java.util.Collections;
+
import org.apache.wicket.WicketTestCase;
import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.StringHeaderItem;
+import org.apache.wicket.markup.head.internal.HeaderResponse;
import org.apache.wicket.markup.html.IHeaderResponseDecorator;
+import org.apache.wicket.request.Response;
+import org.apache.wicket.response.StringResponse;
import org.junit.Test;
/**
@@ -44,4 +50,28 @@ public class FilteringHeaderResponseTest extends WicketTestCase
});
executeTest(FilteredHeaderPage.class, "FilteredHeaderPageExpected.html");
}
+
+ /**
+ * https://issues.apache.org/jira/browse/WICKET-5057
+ * @throws Exception
+ */
+ @Test
+ public void createBucketOnTheFlyForFilteredHeaderItem() throws Exception
+ {
+ FilteringHeaderResponse headerResponse = new FilteringHeaderResponse(new HeaderResponse()
+ {
+ @Override
+ protected Response getRealResponse()
+ {
+ return new StringResponse();
+ }
+ }, "headerBucketName", Collections.EMPTY_LIST);
+
+ String filterName = "filterName";
+ String headerContent = "content";
+ FilteredHeaderItem item = new FilteredHeaderItem(StringHeaderItem.forString(headerContent), filterName);
+ headerResponse.render(item);
+ CharSequence realContent = headerResponse.getContent(filterName);
+ assertEquals(headerContent, realContent.toString());
+ }
}