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/936b0336
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/936b0336
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/936b0336

Branch: refs/heads/master
Commit: 936b0336d74b101f84e03afb3c1a21001a52f842
Parents: 29d832f
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 18:29:07 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/936b0336/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 e99a004..558c13f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
@@ -2014,7 +2014,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();                        
                }
@@ -2022,8 +2023,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/936b0336/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

Reply via email to