Hi, I'd try with a proper .java/.html files. Using getMarkupResourceStream() is not always the same as the default/production way. Maybe the bug is somewhere there.
Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Thu, Mar 5, 2015 at 12:06 PM, Martin Sturm <[email protected]> wrote: > Hello together, > > we've just recognized some strange behavior when using <wicket:enclosure> > tag. > > The scenario: > I have a page that has two labels in it's component hierarchy. In the pages > markup one label is surrounded with an enclosure-tag, and this label is > invisible. The second label was not added to the markup. When I now render > the page I would expect a WicketRuntimeException because of the broken > markup but the page will be rendered successfully. > > I would open a ticket in jira, but I want to ensure that I'm not creating a > ticket for an already known bug or expected behavior. > > I have a small quickstart for that: > > @Test(expected = WicketRuntimeException.class) // fails > public void renderInvisible() throws Exception { > final WicketTester tester = new WicketTester(); > tester.startPage(new TestPage(false)); > tester.assertRenderedPage(TestPage.class); > tester.assertVisible("secondLabel"); // true > } > > @Test(expected = WicketRuntimeException.class) // success > public void renderVisible() throws Exception { > final WicketTester tester = new WicketTester(); > tester.startPage(new TestPage(true)); > tester.assertRenderedPage(TestPage.class); > } > > public static class TestPage extends WebPage implements > IMarkupResourceStreamProvider { > > public TestPage(boolean labelVisible) { > add(new Label("label", "invisible").setVisible(labelVisible)); > add(new Label("secondLabel", "WTF?")); > } > > @Override > public IResourceStream getMarkupResourceStream(final MarkupContainer > container, final Class<?> containerClass) { > return new StringResourceStream("<html><body><wicket:enclosure > child=\"label\"><span > wicket:id=\"label\"></span></wicket:enclosure></body></html>"); > } > } > > Maybe I could contribute a patch. Do you have any idea where I can find the > cause of this issue? > > I've just found out, that unrenderedComponents list in Page#checkRendering > is empty but it must not. > > cheers, > Martin >
