You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by ad...@apache.org on 2016/01/19 10:54:43 UTC

wicket git commit: WICKET-6080 Encapsulation of 3 enclosures leads to WicketRuntimeException

Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x cda8a83c8 -> a23295bd9


WICKET-6080 Encapsulation of 3 enclosures leads to
WicketRuntimeException

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/a23295bd
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/a23295bd
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/a23295bd

Branch: refs/heads/wicket-7.x
Commit: a23295bd949b490b8bed3be3fa71f2aa4313a9d4
Parents: cda8a83
Author: Andrea Del Bene <ad...@apache.org>
Authored: Tue Jan 19 10:53:44 2016 +0100
Committer: Andrea Del Bene <ad...@apache.org>
Committed: Tue Jan 19 10:53:44 2016 +0100

----------------------------------------------------------------------
 .../java/org/apache/wicket/MarkupContainer.java |  3 +-
 .../wicket/queueing/ComponentQueueingTest.java  | 33 +++++++++++++++++---
 2 files changed, 30 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/a23295bd/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 ac74a80..69a9f1f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
@@ -1671,7 +1671,8 @@ public abstract class MarkupContainer extends Component implements Iterable<Comp
 					.getAutoComponentFactory();
 				if (autoComponentFactory != null)
 				{
-					queue(autoComponentFactory.newComponent(this, tag));
+					Component autoComponent = autoComponentFactory.newComponent(this, tag);
+					addDequeuedComponent(autoComponent, tag);
 				}
 
 				// Every component is responsible just for its own auto components

http://git-wip-us.apache.org/repos/asf/wicket/blob/a23295bd/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 c44efd9..15250df 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
@@ -748,15 +748,38 @@ public class ComponentQueueingTest extends WicketTestCase
 	{
 		TestPage page = new TestPage();
 		page.setPageMarkup("<wicket:link>"
-				+ "<a href='test.html'>"
-				+ "<wicket:container wicket:id='test'>test</wicket:container>"
-				+ "</a></wicket:link>");
+			+ "<a href='test.html'>"
+			+ "<wicket:container wicket:id='test'>test</wicket:container>"
+			+ "</a></wicket:link>");
 		
 		page.queue(new WebMarkupContainer("test"));
-
+		
 		tester.startPage(page);	
+	}
+
+	@Test
+	public void queueNestedEnclosure()
+	{
+		TestPage page = new TestPage();
+		page.setPageMarkup( "<div wicket:enclosure='outer'>" +
+			"<div wicket:id='outer'>" +
+			"	<div wicket:enclosure='middle'>" +
+			"		<div wicket:enclosure='inner'>" +
+			"			<div wicket:id='inner'>inner</div>" +
+			"		</div>" +
+			"		<div wicket:id='middle'>middle</div>" +
+			"	</div>" +
+			"	outer" +
+			"</div>" +
+			"</div>");
 		
-	
+		WebMarkupContainer container = new WebMarkupContainer("outer");
+		container.add(new WebMarkupContainer("middle"));
+		container.add(new WebMarkupContainer("inner"));
+		
+		page.add(container);
+		
+		tester.startPage(page);	
 	}
 
 	/**