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 2011/07/09 11:28:20 UTC

svn commit: r1144622 - in /wicket/branches/wicket-1.4.x/wicket/src: main/java/org/apache/wicket/markup/html/internal/ test/java/org/apache/wicket/markup/html/internal/

Author: jdonnerstag
Date: Sat Jul  9 09:28:19 2011
New Revision: 1144622

URL: http://svn.apache.org/viewvc?rev=1144622&view=rev
Log:
fixed: The wicket:enclosure attribute doesn't work properly
Issue: WICKET-3842

Modified:
    wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java
    wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
    wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html

Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java?rev=1144622&r1=1144621&r2=1144622&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/markup/html/internal/InlineEnclosure.java Sat Jul  9 09:28:19 2011
@@ -69,6 +69,14 @@ public class InlineEnclosure extends Enc
 	}
 
 	@Override
+	public boolean isVisible()
+	{
+		updateVisibility();
+
+		return super.isVisible();
+	}
+
+	@Override
 	protected void onAfterRenderChildren()
 	{
 		if (children == null)
@@ -107,6 +115,12 @@ public class InlineEnclosure extends Enc
 	public boolean updateVisibility()
 	{
 		Component child = getChildComponent();
+		if (child == null)
+		{
+			throw new WicketRuntimeException("Could not find child with id: " + childId +
+				" in the wicket:enclosure");
+		}
+
 		boolean visible = child.isVisible();
 		setVisible(visible);
 		return visible;

Modified: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java?rev=1144622&r1=1144621&r2=1144622&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/EnclosureTest.java Sat Jul  9 09:28:19 2011
@@ -28,6 +28,7 @@ import org.apache.wicket.markup.html.Web
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.CheckBox;
+import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.resource.DummyApplication;
 import org.apache.wicket.util.diff.DiffUtil;
@@ -339,6 +340,9 @@ public class EnclosureTest extends Wicke
 		executeTest(EnclosurePage_11.class, "EnclosurePageExpectedResult_11.html");
 	}
 
+	/**
+	 * 
+	 */
 	public void testBadEnclosure1()
 	{
 		class TestPage extends WebPage implements IMarkupResourceStreamProvider
@@ -366,4 +370,48 @@ public class EnclosureTest extends Wicke
 			assertTrue(e.getMessage().startsWith("Could not find child"));
 		}
 	}
+
+	/**
+	 * 
+	 */
+	public void testAttribute()
+	{
+		class TestPage extends WebPage implements IMarkupResourceStreamProvider
+		{
+			public TestPage()
+			{
+				final Label l = new Label("msg", "$label$");
+				add(l);
+				add(new Link<Void>("b")
+				{
+					private static final long serialVersionUID = 1L;
+
+					@Override
+					public void onClick()
+					{
+						l.setVisible(!l.isVisible());
+					}
+				});
+			}
+
+			public IResourceStream getMarkupResourceStream(MarkupContainer container,
+				Class<?> containerClass)
+			{
+				return new StringResourceStream(
+					"<html><body><div wicket:enclosure='msg'><span wicket:id='msg'></span></div><input type='button' value='Toggle' wicket:id='b'></body></html>");
+			}
+		}
+
+		tester.startPage(new TestPage());
+		assertTrue(tester.getServletResponse().getDocument().contains("$label$"));
+
+		// toggle visibility of enclosure to false
+		tester.clickLink("b");
+		assertFalse(tester.getServletResponse().getDocument().contains("$label$"));
+
+		// toggle visibility of enclosure to back to true
+		tester.clickLink("b");
+		assertTrue(tester.getServletResponse().getDocument().contains("$label$"));
+
+	}
 }

Modified: wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html?rev=1144622&r1=1144621&r2=1144622&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html Sat Jul  9 09:28:19 2011
@@ -1,48 +1,48 @@
-<html>
-<body>
-
-<span id="inlineEnclosure-1"> <span>Test Label 1</span> </span>
-
-<div id="inlineEnclosure-2">
-	<table>
-		<tr>
-			<td><span>Test Label 2</span></td>
-		</tr>
-	</table>
-</div>
-
-<span id="inlineEnclosure-3"></span>
-
-<div id="inlineEnclosure-4">
-	<table>
-		<tr>
-			<td><span>Test Label 4</span></td>
-		</tr>
-	</table>
-	<table>
-		<tr>
-			<td><span>Test Label 5</span></td>
-		</tr>
-	</table>
-	<table>
-		<tr>
-			<td><span>Test Label 6</span></td>
-		</tr>
-	</table>
-	<table>
-		<tr>
-			<td><span>Test Label 7</span></td>
-		</tr>
-	</table>
-</div>
-
-<div id="inlineEnclosure-5"><span> <span>Test Label 8</span> </span></div>
-
-<div id="inlineEnclosure-6"><span>Test Label 9</span></div>
-
-<div id="customInlineEnclosureId"><span>Test Label 10</span>
-</div>
-
-
-</body>
-</html>
+<html>
+<body>
+
+<span id="inlineEnclosure-1"> <span>Test Label 1</span> </span>
+
+<div id="inlineEnclosure-2">
+	<table>
+		<tr>
+			<td><span>Test Label 2</span></td>
+		</tr>
+	</table>
+</div>
+
+
+
+<div id="inlineEnclosure-4">
+	<table>
+		<tr>
+			<td><span>Test Label 4</span></td>
+		</tr>
+	</table>
+	<table>
+		<tr>
+			<td><span>Test Label 5</span></td>
+		</tr>
+	</table>
+	<table>
+		<tr>
+			<td><span>Test Label 6</span></td>
+		</tr>
+	</table>
+	<table>
+		<tr>
+			<td><span>Test Label 7</span></td>
+		</tr>
+	</table>
+</div>
+
+<div id="inlineEnclosure-5"><span> <span>Test Label 8</span> </span></div>
+
+<div id="inlineEnclosure-6"><span>Test Label 9</span></div>
+
+<div id="customInlineEnclosureId"><span>Test Label 10</span>
+</div>
+
+
+</body>
+</html>