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

Reply via email to