You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2007/09/23 16:31:19 UTC

svn commit: r578574 - in /wicket/trunk/jdk-1.4/wicket/src: main/java/org/apache/wicket/markup/html/internal/ test/java/org/apache/wicket/markup/html/internal/

Author: jdonnerstag
Date: Sun Sep 23 07:31:15 2007
New Revision: 578574

URL: http://svn.apache.org/viewvc?rev=578574&view=rev
Log:
wicket-993: wicket:enclosure doesn't work with multiple child components

fixed

Added:
    wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_2.html   (with props)
    wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.html   (with props)
    wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.java   (with props)
Modified:
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java
    wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java

Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java?rev=578574&r1=578573&r2=578574&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/internal/Enclosure.java Sun Sep 23 07:31:15 2007
@@ -18,6 +18,7 @@
 
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.Response;
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.MarkupException;
@@ -25,6 +26,7 @@
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.parser.filter.EnclosureHandler;
 import org.apache.wicket.markup.resolver.EnclosureResolver;
+import org.apache.wicket.response.NullResponse;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -168,7 +170,16 @@
 		}
 		else
 		{
-			markupStream.skipUntil(openTag.getName());
+			Response response = getResponse();
+			getRequestCycle().setResponse(NullResponse.getInstance());
+			try
+			{
+				super.onComponentTagBody(markupStream, openTag);
+			}
+			finally
+			{
+				getRequestCycle().setResponse(response);
+			}
 		}
 	}
 }

Added: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_2.html
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_2.html?rev=578574&view=auto
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_2.html (added)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_2.html Sun Sep 23 07:31:15 2007
@@ -0,0 +1,10 @@
+<html xmlns:wicket>
+<body>
+<div wicket:id="example3">
+    <h3>Example 3 using wicket:enclosure</h3>
+    <span wicket:id="label1">label 1</span><br />
+    <span wicket:id="label2">label 2</span><br />
+    <wicket:enclosure child="label3"></wicket:enclosure>
+</div>
+</body>
+</html>

Propchange: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePageExpectedResult_2.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.html
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.html?rev=578574&view=auto
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.html (added)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.html Sun Sep 23 07:31:15 2007
@@ -0,0 +1,13 @@
+<html xmlns:wicket>
+<body>
+<div wicket:id="example3">
+    <h3>Example 3 using wicket:enclosure</h3>
+    <span wicket:id="label1"></span><br />
+    <span wicket:id="label2"></span><br />
+    <wicket:enclosure child="label3">
+        <span wicket:id="label3"></span><br />
+        <span wicket:id="label4"></span><br />
+    </wicket:enclosure>
+</div>
+</body>
+</html>

Propchange: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.java?rev=578574&view=auto
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.java (added)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.java Sun Sep 23 07:31:15 2007
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markup.html.internal;
+
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.basic.Label;
+
+
+/**
+ * Mock page for testing.
+ * 
+ * @author Juergen Donnerstag
+ */
+public class EnclosurePage_2 extends WebPage
+{
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Construct.
+	 */
+	public EnclosurePage_2()
+	{
+		WebMarkupContainer example3 = new WebMarkupContainer("example3");
+		example3.add(new Label("label1", "label 1"));
+		example3.add(new Label("label2", "label 2"));
+		example3.add(new Label("label3", "label 3"));
+		example3.add(new Label("label4", "label 4"));
+
+		add(example3);
+
+		example3.get("label3").setVisible(false);
+	}
+}

Propchange: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosurePage_2.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java?rev=578574&r1=578573&r2=578574&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java Sun Sep 23 07:31:15 2007
@@ -56,4 +56,12 @@
 	{
 		executeTest(EnclosurePage_1.class, "EnclosurePageExpectedResult_1.html");
 	}
+
+	/**
+	 * @throws Exception
+	 */
+	public void testRenderHomePage2() throws Exception
+	{
+		executeTest(EnclosurePage_2.class, "EnclosurePageExpectedResult_2.html");
+	}
 }