WICKET-6172 Inconsistent results from getTag[s]ByWicketId
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/7eced629 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/7eced629 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/7eced629 Branch: refs/heads/WICKET-6183 Commit: 7eced629a6b5ec6ee6be18da29efede1cc05714b Parents: 366beff Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Thu May 26 19:05:59 2016 +0200 Committer: Andrea Del Bene <[email protected]> Committed: Fri May 27 13:12:16 2016 +0200 ---------------------------------------------------------------------- .../org/apache/wicket/util/tester/TagTester.java | 10 ++++++++-- .../apache/wicket/util/tester/TagTesterTest.java | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/7eced629/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java b/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java index b5aac3e..e2cc83c 100644 --- a/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java +++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/TagTester.java @@ -614,7 +614,7 @@ public class TagTester XmlPullParser parser = new XmlPullParser(); parser.parse(markup); - XmlTag elm = null; + XmlTag elm; XmlTag openTag = null; XmlTag closeTag = null; int level = 0; @@ -671,6 +671,13 @@ public class TagTester openTag = null; closeTag = null; } + else if (openTag != null) + { + TagTester tester = new TagTester(parser, openTag, openTag); + testers.add(tester); + openTag = null; + closeTag = null; + } if (stopAfterFirst && (closeTag != null)) { @@ -680,7 +687,6 @@ public class TagTester } catch (Exception e) { - // NOTE: IllegalStateException(Throwable) only exists since Java 1.5 throw new WicketRuntimeException(e); } } http://git-wip-us.apache.org/repos/asf/wicket/blob/7eced629/wicket-core/src/test/java/org/apache/wicket/util/tester/TagTesterTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/util/tester/TagTesterTest.java b/wicket-core/src/test/java/org/apache/wicket/util/tester/TagTesterTest.java index f604739..9a60a88 100644 --- a/wicket-core/src/test/java/org/apache/wicket/util/tester/TagTesterTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/util/tester/TagTesterTest.java @@ -24,6 +24,8 @@ import static org.hamcrest.Matchers.notNullValue; import org.junit.Assert; import org.junit.Test; +import java.util.List; + /** * Test of TagTester */ @@ -42,7 +44,7 @@ public class TagTesterTest extends Assert * https://issues.apache.org/jira/browse/WICKET-5874 */ @Test - public void getTagTestedForNonClosedTag() + public void getTagTesterForNonClosedTag() { TagTester tester = TagTester.createTagByAttribute(NON_CLOSED_INPUT, "wicket:id", "wicketId"); assertThat(tester, is(notNullValue())); @@ -52,6 +54,20 @@ public class TagTesterTest extends Assert } /** + * https://issues.apache.org/jira/browse/WICKET-6172 + */ + @Test + public void getTagTestersForNonClosedTag() + { + List<TagTester> testers = TagTester.createTagsByAttribute(NON_CLOSED_INPUT, "wicket:id", "wicketId", false); + assertThat(testers, is(notNullValue())); + assertThat(testers.size(), is(1)); + + String type = testers.get(0).getAttribute("type"); + assertThat(type, is(equalTo("text"))); + } + + /** * https://issues.apache.org/jira/browse/WICKET-5137 */ @Test
