Repository: wicket Updated Branches: refs/heads/wicket-7.x 615eff88f -> 2e2ef50f6
WICKET-6217 Added test case and improved code Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2e2ef50f Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2e2ef50f Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2e2ef50f Branch: refs/heads/wicket-7.x Commit: 2e2ef50f62b3b7042f15423ec0c03688273b131c Parents: 615eff8 Author: Andrea Del Bene <[email protected]> Authored: Wed Jul 27 16:21:18 2016 +0200 Committer: Andrea Del Bene <[email protected]> Committed: Wed Jul 27 17:14:19 2016 +0200 ---------------------------------------------------------------------- .../java/org/apache/wicket/MarkupContainer.java | 6 ++--- .../wicket/queueing/ComponentQueueingTest.java | 24 ++++++++++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/2e2ef50f/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java index 4355936..379474b 100644 --- a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java +++ b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java @@ -2146,7 +2146,8 @@ public abstract class MarkupContainer extends Component implements Iterable<Comp { ChildToDequeueType childType = ChildToDequeueType.fromChild(child); - if (childType == ChildToDequeueType.QUEUE_REGION) + if (childType == ChildToDequeueType.QUEUE_REGION || + childType == ChildToDequeueType.BORDER) { ((IQueueRegion)child).dequeue(); } @@ -2154,8 +2155,7 @@ public abstract class MarkupContainer extends Component implements Iterable<Comp if (childType == ChildToDequeueType.MARKUP_CONTAINER) { // propagate dequeuing to containers - MarkupContainer childContainer = childType == ChildToDequeueType.BORDER ? - ((Border)child).getBodyContainer() : (MarkupContainer)child; + MarkupContainer childContainer = (MarkupContainer)child; dequeue.pushContainer(childContainer); childContainer.dequeue(dequeue); http://git-wip-us.apache.org/repos/asf/wicket/blob/2e2ef50f/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java index 68dd6a0..e889865 100644 --- a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java @@ -845,6 +845,30 @@ public class ComponentQueueingTest extends WicketTestCase tester.startPage(page); } + @Test + public void queueComponentInsideBorderAndEnclosure() + { + TestPage page = new TestPage(); + page.setPageMarkup(" <div wicket:id=\"panel\"></div>"); + + TestPanel panel = new TestPanel("panel"); + panel.setPanelMarkup("<wicket:panel>\n" + + "<div wicket:id=\"border\">\n" + + " <div wicket:enclosure=\"child\">\n" + + " <p wicket:id=\"child\">1</p>\n" + + " </div>\n" + + " </div>\n" + + "</wicket:panel>"); + + TestBorder border = new TestBorder("border"); + border.setBorderMarkup("<wicket:border><wicket:body/></wicket:border>"); + + panel.add(border); + page.add(panel); + border.add(new Label("child")); + + tester.startPage(page); + } /** * https://issues.apache.org/jira/browse/WICKET-6036
