You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/04/07 18:19:47 UTC
[07/10] incubator-juneau git commit: More JUnits, bug fixes.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core-test/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/html/BasicHtmlTest.java b/juneau-core-test/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
index 2cf1fcd..5745237 100644
--- a/juneau-core-test/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/html/BasicHtmlTest.java
@@ -12,8 +12,11 @@
// ***************************************************************************************************************************
package org.apache.juneau.html;
+import static org.apache.juneau.TestUtils.*;
+
import static org.junit.Assert.*;
+import java.lang.reflect.*;
import java.util.*;
import org.apache.juneau.annotation.*;
@@ -24,584 +27,996 @@ import org.junit.runner.*;
import org.junit.runners.*;
@RunWith(Parameterized.class)
-@SuppressWarnings({"javadoc","serial"})
+@SuppressWarnings({"javadoc","serial","rawtypes","unchecked"})
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class BasicHtmlTest {
private static final HtmlSerializer
s1 = HtmlSerializer.DEFAULT_SQ,
- s2 = HtmlSerializer.DEFAULT_SQ_READABLE;
+ s2 = HtmlSerializer.DEFAULT_SQ_READABLE,
+ s3 = HtmlSerializer.DEFAULT_SQ.builder().abridged(true).build();
private static final HtmlParser parser = HtmlParser.DEFAULT;
@Parameterized.Parameters
public static Collection<Object[]> getParameters() {
return Arrays.asList(new Object[][] {
- {
- "SimpleTypes-1",
- "foo",
- "<string>foo</string>",
- "<string>foo</string>",
+ { /* 0 */
+ new Input<String>(
+ "SimpleTypes-1",
+ String.class,
+ "foo",
+ "<string>foo</string>",
+ "<string>foo</string>",
+ "<string>foo</string>"
+ )
+ {
+ public void verify(String o) {
+ assertType(String.class, o);
+ }
+ }
},
- {
- "SimpleTypes-2",
- true,
- "<boolean>true</boolean>",
- "<boolean>true</boolean>",
+ { /* 1 */
+ new Input<Boolean>(
+ "SimpleTypes-2",
+ boolean.class,
+ true,
+ "<boolean>true</boolean>",
+ "<boolean>true</boolean>",
+ "<boolean>true</boolean>"
+ )
+ {
+ public void verify(Boolean o) {
+ assertType(Boolean.class, o);
+ }
+ }
},
- {
- "SimpleTypes-3",
- 123,
- "<number>123</number>",
- "<number>123</number>",
+ { /* 2 */
+ new Input<Integer>(
+ "SimpleTypes-3",
+ int.class,
+ 123,
+ "<number>123</number>",
+ "<number>123</number>",
+ "<number>123</number>"
+ )
+ {
+ public void verify(Integer o) {
+ assertType(Integer.class, o);
+ }
+ }
},
- {
- "SimpleTypes-4",
- 1.23f,
- "<number>1.23</number>",
- "<number>1.23</number>",
+ { /* 3 */
+ new Input<Float>(
+ "SimpleTypes-4",
+ float.class,
+ 1.23f,
+ "<number>1.23</number>",
+ "<number>1.23</number>",
+ "<number>1.23</number>"
+ )
+ {
+ public void verify(Float o) {
+ assertType(Float.class, o);
+ }
+ }
},
- {
- "SimpleTypes-5",
- null,
- "<null/>",
- "<null/>",
+ { /* 4 */
+ new Input<String>(
+ "SimpleTypes-5",
+ String.class,
+ null,
+ "<null/>",
+ "<null/>",
+ "<null/>"
+ )
},
- {
- "Arrays-1",
- new String[]{"foo"},
- "<ul><li>foo</li></ul>",
- "<ul>\n\t<li>foo</li>\n</ul>\n",
+ { /* 5 */
+ new Input<String[]>(
+ "Arrays-1",
+ String[].class,
+ new String[]{"foo"},
+ "<ul><li>foo</li></ul>",
+ "<ul>\n\t<li>foo</li>\n</ul>\n",
+ "<ul><li>foo</li></ul>"
+ )
+ {
+ public void verify(String[] o) {
+ assertType(String.class, o[0]);
+ }
+ }
},
- {
- "Arrays-2",
- new String[]{null},
- "<ul><li><null/></li></ul>",
- "<ul>\n\t<li><null/></li>\n</ul>\n",
+ { /* 6 */
+ new Input<String[]>(
+ "Arrays-2",
+ String[].class,
+ new String[]{null},
+ "<ul><li><null/></li></ul>",
+ "<ul>\n\t<li><null/></li>\n</ul>\n",
+ "<ul><li><null/></li></ul>"
+ )
},
- {
- "Arrays-3",
- new Object[]{"foo",123,true},
- "<ul><li>foo</li><li><number>123</number></li><li><boolean>true</boolean></li></ul>",
- "<ul>\n\t<li>foo</li>\n\t<li><number>123</number></li>\n\t<li><boolean>true</boolean></li>\n</ul>\n",
+ { /* 7 */
+ new Input<Object[]>(
+ "Arrays-3",
+ Object[].class,
+ new Object[]{"foo",123,true},
+ "<ul><li>foo</li><li><number>123</number></li><li><boolean>true</boolean></li></ul>",
+ "<ul>\n\t<li>foo</li>\n\t<li><number>123</number></li>\n\t<li><boolean>true</boolean></li>\n</ul>\n",
+ "<ul><li>foo</li><li><number>123</number></li><li><boolean>true</boolean></li></ul>"
+ )
+ {
+ public void verify(Object[] o) {
+ assertType(String.class, o[0]);
+ assertType(Integer.class, o[1]);
+ assertType(Boolean.class, o[2]);
+ }
+ }
},
- {
- "Arrays-4",
- new int[]{123},
- "<ul><li>123</li></ul>",
- "<ul>\n\t<li>123</li>\n</ul>\n",
+ { /* 8 */
+ new Input<int[]>(
+ "Arrays-4",
+ int[].class,
+ new int[]{123},
+ "<ul><li><number>123</number></li></ul>",
+ "<ul>\n\t<li><number>123</number></li>\n</ul>\n",
+ "<ul><li>123</li></ul>"
+ )
+ {
+ public void verify(int[] o) {
+ assertType(int[].class, o);
+ }
+ }
},
- {
- "Arrays-5",
- new boolean[]{true},
- "<ul><li>true</li></ul>",
- "<ul>\n\t<li>true</li>\n</ul>\n",
+ { /* 9 */
+ new Input<boolean[]>(
+ "Arrays-5",
+ boolean[].class,
+ new boolean[]{true},
+ "<ul><li><boolean>true</boolean></li></ul>",
+ "<ul>\n\t<li><boolean>true</boolean></li>\n</ul>\n",
+ "<ul><li>true</li></ul>"
+ )
+ {
+ public void verify(boolean[] o) {
+ assertType(boolean[].class, o);
+ }
+ }
},
- {
- "Arrays-6",
- new String[][]{{"foo"}},
- "<ul><li><ul><li>foo</li></ul></li></ul>",
- "<ul>\n\t<li>\n\t\t<ul>\n\t\t\t<li>foo</li>\n\t\t</ul>\n\t</li>\n</ul>\n",
+ { /* 10 */
+ new Input<String[][]>(
+ "Arrays-6",
+ String[][].class,
+ new String[][]{{"foo"}},
+ "<ul><li><ul><li>foo</li></ul></li></ul>",
+ "<ul>\n\t<li>\n\t\t<ul>\n\t\t\t<li>foo</li>\n\t\t</ul>\n\t</li>\n</ul>\n",
+ "<ul><li><ul><li>foo</li></ul></li></ul>"
+ )
+ {
+ public void verify(String[][] o) {
+ assertType(String[][].class, o);
+ }
+ }
},
- {
- "MapWithStrings",
- new MapWithStrings().append("k1", "v1").append("k2", null),
- "<table>"
- +"<tr>"
- +"<td>k1</td>"
- +"<td>v1</td>"
- +"</tr>"
- +"<tr>"
- +"<td>k2</td>"
- +"<td><null/></td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>k1</td>\n"
- +"\t\t<td>v1</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>k2</td>\n"
- +"\t\t<td><null/></td>\n"
- +"\t</tr>\n"
- +"</table>\n",
+ { /* 11 */
+ new Input<Map<String,String>>(
+ "MapWithStrings",
+ MapWithStrings.class,
+ new MapWithStrings().append("k1", "v1").append("k2", null),
+ "<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td>v1</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td><null/></td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>k1</td>\n"
+ +"\t\t<td>v1</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>k2</td>\n"
+ +"\t\t<td><null/></td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td>v1</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td><null/></td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(Map<String,String> o) {
+ assertType(String.class, o.get("k1"));
+ }
+ }
},
- {
- "MapsWithNumbers",
- new MapWithNumbers().append("k1", 123).append("k2", 1.23).append("k3", null),
- "<table>"
- +"<tr>"
- +"<td>k1</td>"
- +"<td>123</td>"
- +"</tr>"
- +"<tr>"
- +"<td>k2</td>"
- +"<td>1.23</td>"
- +"</tr>"
- +"<tr>"
- +"<td>k3</td>"
- +"<td><null/></td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>k1</td>\n"
- +"\t\t<td>123</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>k2</td>\n"
- +"\t\t<td>1.23</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>k3</td>\n"
- +"\t\t<td><null/></td>\n"
- +"\t</tr>\n"
- +"</table>\n",
+ { /* 12 */
+ new Input<Map<String,Number>>(
+ "MapsWithNumbers",
+ MapWithNumbers.class,
+ new MapWithNumbers().append("k1", 123).append("k2", 1.23).append("k3", null),
+ "<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td><number>123</number></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td><number>1.23</number></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k3</td>"
+ +"<td><null/></td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>k1</td>\n"
+ +"\t\t<td><number>123</number></td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>k2</td>\n"
+ +"\t\t<td><number>1.23</number></td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>k3</td>\n"
+ +"\t\t<td><null/></td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td>123</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td>1.23</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k3</td>"
+ +"<td><null/></td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(Map<String,Number> o) {
+ assertType(Number.class, o.get("k1"));
+ }
+ }
},
- {
- "MapWithObjects",
- new MapWithObjects().append("k1", "v1").append("k2", 123).append("k3", 1.23).append("k4", true).append("k5", null),
- "<table>"
- +"<tr>"
- +"<td>k1</td>"
- +"<td>v1</td>"
- +"</tr>"
- +"<tr>"
- +"<td>k2</td>"
- +"<td><number>123</number></td>"
- +"</tr>"
- +"<tr>"
- +"<td>k3</td>"
- +"<td><number>1.23</number></td>"
- +"</tr>"
- +"<tr>"
- +"<td>k4</td>"
- +"<td><boolean>true</boolean></td>"
- +"</tr>"
- +"<tr>"
- +"<td>k5</td>"
- +"<td><null/></td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>k1</td>\n"
- +"\t\t<td>v1</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>k2</td>\n"
- +"\t\t<td><number>123</number></td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>k3</td>\n"
- +"\t\t<td><number>1.23</number></td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>k4</td>\n"
- +"\t\t<td><boolean>true</boolean></td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>k5</td>\n"
- +"\t\t<td><null/></td>\n"
- +"\t</tr>\n"
- +"</table>\n",
+ { /* 13 */
+ new Input<Map<String,Object>>(
+ "MapWithObjects",
+ getType(Map.class,String.class,Object.class),
+ new MapWithObjects().append("k1", "v1").append("k2", 123).append("k3", 1.23).append("k4", true).append("k5", null),
+ "<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td>v1</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td><number>123</number></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k3</td>"
+ +"<td><number>1.23</number></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k4</td>"
+ +"<td><boolean>true</boolean></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k5</td>"
+ +"<td><null/></td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>k1</td>\n"
+ +"\t\t<td>v1</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>k2</td>\n"
+ +"\t\t<td><number>123</number></td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>k3</td>\n"
+ +"\t\t<td><number>1.23</number></td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>k4</td>\n"
+ +"\t\t<td><boolean>true</boolean></td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>k5</td>\n"
+ +"\t\t<td><null/></td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td>v1</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td><number>123</number></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k3</td>"
+ +"<td><number>1.23</number></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k4</td>"
+ +"<td><boolean>true</boolean></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k5</td>"
+ +"<td><null/></td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(Map<String,Object> o) {
+ assertType(String.class, o.get("k1"));
+ assertType(Integer.class, o.get("k2"));
+ assertType(Float.class, o.get("k3"));
+ assertType(Boolean.class, o.get("k4"));
+ }
+ }
},
- {
- "ListWithStrings",
- new ListWithStrings().append("foo").append(null),
- "<ul><li>foo</li><li><null/></li></ul>",
- "<ul>\n\t<li>foo</li>\n\t<li><null/></li>\n</ul>\n",
+ { /* 14 */
+ new Input<List<String>>(
+ "ListWithStrings",
+ getType(List.class,String.class),
+ new ListWithStrings().append("foo").append(null),
+ "<ul><li>foo</li><li><null/></li></ul>",
+ "<ul>\n\t<li>foo</li>\n\t<li><null/></li>\n</ul>\n",
+ "<ul><li>foo</li><li><null/></li></ul>"
+ )
+ {
+ public void verify(List<String> o) {
+ assertType(String.class, o.get(0));
+ }
+ }
},
- {
- "ListWithNumbers",
- new ListWithNumbers().append(123).append(1.23).append(null),
- "<ul><li>123</li><li>1.23</li><li><null/></li></ul>",
- "<ul>\n\t<li>123</li>\n\t<li>1.23</li>\n\t<li><null/></li>\n</ul>\n",
+ { /* 15 */
+ new Input<List<Number>>(
+ "ListWithNumbers",
+ ListWithNumbers.class,
+ new ListWithNumbers().append(123).append(1.23).append(null),
+ "<ul><li><number>123</number></li><li><number>1.23</number></li><li><null/></li></ul>",
+ "<ul>\n\t<li><number>123</number></li>\n\t<li><number>1.23</number></li>\n\t<li><null/></li>\n</ul>\n",
+ "<ul><li>123</li><li>1.23</li><li><null/></li></ul>"
+ )
+ {
+ public void verify(List<Number> o) {
+ assertType(Integer.class, o.get(0));
+ assertType(Float.class, o.get(1));
+ }
+ }
},
- {
- "ListWithObjects",
- new ListWithObjects().append("foo").append(123).append(1.23).append(true).append(null),
- "<ul><li>foo</li><li><number>123</number></li><li><number>1.23</number></li><li><boolean>true</boolean></li><li><null/></li></ul>",
- "<ul>\n\t<li>foo</li>\n\t<li><number>123</number></li>\n\t<li><number>1.23</number></li>\n\t<li><boolean>true</boolean></li>\n\t<li><null/></li>\n</ul>\n",
+ { /* 16 */
+ new Input<List<Object>>(
+ "ListWithObjects",
+ getType(List.class,Object.class),
+ new ListWithObjects().append("foo").append(123).append(1.23).append(true).append(null),
+ "<ul><li>foo</li><li><number>123</number></li><li><number>1.23</number></li><li><boolean>true</boolean></li><li><null/></li></ul>",
+ "<ul>\n\t<li>foo</li>\n\t<li><number>123</number></li>\n\t<li><number>1.23</number></li>\n\t<li><boolean>true</boolean></li>\n\t<li><null/></li>\n</ul>\n",
+ "<ul><li>foo</li><li><number>123</number></li><li><number>1.23</number></li><li><boolean>true</boolean></li><li><null/></li></ul>"
+ )
+ {
+ public void verify(List<Object> o) {
+ assertType(String.class, o.get(0));
+ assertType(Integer.class, o.get(1));
+ assertType(Float.class, o.get(2));
+ assertType(Boolean.class, o.get(3));
+ }
+ }
},
- {
- "BeanWithNormalProperties",
- new BeanWithNormalProperties().init(),
- "<table>"
- +"<tr>"
- +"<td>a</td>"
- +"<td>foo</td>"
- +"</tr>"
- +"<tr>"
- +"<td>b</td>"
- +"<td>123</td>"
- +"</tr>"
- +"<tr>"
- +"<td>c</td>"
- +"<td>bar</td>"
- +"</tr>"
- +"<tr>"
- +"<td>d</td>"
- +"<td><number>456</number></td>"
- +"</tr>"
- +"<tr>"
- +"<td>e</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>h</td>"
- +"<td>qux</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>f</td>"
- +"<td>"
- +"<ul>"
- +"<li>baz</li>"
- +"</ul>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>g</td>"
- +"<td>"
- +"<ul>"
- +"<li>789</li>"
- +"</ul>"
- +"</td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>a</td>\n"
- +"\t\t<td>foo</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>b</td>\n"
- +"\t\t<td>123</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>c</td>\n"
- +"\t\t<td>bar</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>d</td>\n"
- +"\t\t<td><number>456</number></td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>e</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>h</td>\n"
- +"\t\t\t\t\t<td>qux</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>f</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<ul>\n"
- +"\t\t\t\t<li>baz</li>\n"
- +"\t\t\t</ul>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>g</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<ul>\n"
- +"\t\t\t\t<li>789</li>\n"
- +"\t\t\t</ul>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"</table>\n",
+ { /* 17 */
+ new Input<BeanWithNormalProperties>(
+ "BeanWithNormalProperties",
+ BeanWithNormalProperties.class,
+ new BeanWithNormalProperties().init(),
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>123</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>c</td>"
+ +"<td>bar</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>d</td>"
+ +"<td><number>456</number></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>e</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>h</td>"
+ +"<td>qux</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>f</td>"
+ +"<td>"
+ +"<ul>"
+ +"<li>baz</li>"
+ +"</ul>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>g</td>"
+ +"<td>"
+ +"<ul>"
+ +"<li>789</li>"
+ +"</ul>"
+ +"</td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>a</td>\n"
+ +"\t\t<td>foo</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b</td>\n"
+ +"\t\t<td>123</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>c</td>\n"
+ +"\t\t<td>bar</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>d</td>\n"
+ +"\t\t<td><number>456</number></td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>e</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>h</td>\n"
+ +"\t\t\t\t\t<td>qux</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>f</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<ul>\n"
+ +"\t\t\t\t<li>baz</li>\n"
+ +"\t\t\t</ul>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>g</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<ul>\n"
+ +"\t\t\t\t<li>789</li>\n"
+ +"\t\t\t</ul>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>123</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>c</td>"
+ +"<td>bar</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>d</td>"
+ +"<td><number>456</number></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>e</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>h</td>"
+ +"<td>qux</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>f</td>"
+ +"<td>"
+ +"<ul>"
+ +"<li>baz</li>"
+ +"</ul>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>g</td>"
+ +"<td>"
+ +"<ul>"
+ +"<li>789</li>"
+ +"</ul>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(BeanWithNormalProperties o) {
+ assertType(String.class, o.c);
+ assertType(Integer.class, o.d);
+ assertType(Bean1a.class, o.e);
+ }
+ }
},
- {
- "BeanWithMapProperties",
- new BeanWithMapProperties().init(),
- "<table>"
- +"<tr>"
- +"<td>a</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>k1</td>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>b</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>k2</td>"
- +"<td>123</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>c</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>k3</td>"
- +"<td>bar</td>"
- +"</tr>"
- +"<tr>"
- +"<td>k4</td>"
- +"<td><number>456</number></td>"
- +"</tr>"
- +"<tr>"
- +"<td>k5</td>"
- +"<td><boolean>true</boolean></td>"
- +"</tr>"
- +"<tr>"
- +"<td>k6</td>"
- +"<td><null/></td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>a</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>k1</td>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>b</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>k2</td>\n"
- +"\t\t\t\t\t<td>123</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>c</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>k3</td>\n"
- +"\t\t\t\t\t<td>bar</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>k4</td>\n"
- +"\t\t\t\t\t<td><number>456</number></td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>k5</td>\n"
- +"\t\t\t\t\t<td><boolean>true</boolean></td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>k6</td>\n"
- +"\t\t\t\t\t<td><null/></td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"</table>\n"
- },
- {
- "BeanWithTypeName",
- new BeanWithTypeName().init(),
- "<table _type='X'>"
- +"<tr>"
- +"<td>a</td>"
- +"<td>123</td>"
- +"</tr>"
- +"<tr>"
- +"<td>b</td>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>",
- "<table _type='X'>\n"
- +"\t<tr>\n"
- +"\t\t<td>a</td>\n"
- +"\t\t<td>123</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>b</td>\n"
- +"\t\t<td>foo</td>\n"
- +"\t</tr>\n"
- +"</table>\n",
+ { /* 18 */
+ new Input<BeanWithMapProperties>(
+ "BeanWithMapProperties",
+ BeanWithMapProperties.class,
+ new BeanWithMapProperties().init(),
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td>123</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>c</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k3</td>"
+ +"<td>bar</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k4</td>"
+ +"<td><number>456</number></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k5</td>"
+ +"<td><boolean>true</boolean></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k6</td>"
+ +"<td><null/></td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>a</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>k1</td>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>k2</td>\n"
+ +"\t\t\t\t\t<td>123</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>c</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>k3</td>\n"
+ +"\t\t\t\t\t<td>bar</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>k4</td>\n"
+ +"\t\t\t\t\t<td><number>456</number></td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>k5</td>\n"
+ +"\t\t\t\t\t<td><boolean>true</boolean></td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>k6</td>\n"
+ +"\t\t\t\t\t<td><null/></td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td>123</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>c</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k3</td>"
+ +"<td>bar</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k4</td>"
+ +"<td><number>456</number></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k5</td>"
+ +"<td><boolean>true</boolean></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>k6</td>"
+ +"<td><null/></td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(BeanWithMapProperties o) {
+ assertType(String.class, o.a.get("k1"));
+ assertType(Integer.class, o.b.get("k2"));
+ assertType(String.class, o.c.get("k3"));
+ assertType(Integer.class, o.c.get("k4"));
+ assertType(Boolean.class, o.c.get("k5"));
+ }
+ }
},
- {
- "BeanWithPropertiesWithTypeNames",
- new BeanWithPropertiesWithTypeNames().init(),
- "<table>"
- +"<tr>"
- +"<td>b1</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>b</td>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>b2</td>"
- +"<td>"
- +"<table _type='B'>"
- +"<tr>"
- +"<td>b</td>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>b1</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>b</td>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>b2</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='B'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>b</td>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"</table>\n"
+ { /* 19 */
+ new Input<BeanWithTypeName>(
+ "BeanWithTypeName",
+ BeanWithTypeName.class,
+ new BeanWithTypeName().init(),
+ "<table _type='X'>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>123</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table _type='X'>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>a</td>\n"
+ +"\t\t<td>123</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b</td>\n"
+ +"\t\t<td>foo</td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>123</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(BeanWithTypeName o) {
+ assertType(BeanWithTypeName.class, o);
+ }
+ }
},
- {
- "BeanWithPropertiesWithArrayTypeNames",
- new BeanWithPropertiesWithArrayTypeNames().init(),
- "<table>"
- +"<tr>"
- +"<td>b1</td>"
- +"<td>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>b</th>"
- +"</tr>"
- +"<tr>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>b2</td>"
- +"<td>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>b</th>"
- +"</tr>"
- +"<tr _type='B'>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>b3</td>"
- +"<td>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>b</th>"
- +"</tr>"
- +"<tr _type='B'>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>b1</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='array'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<th>b</th>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>b2</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='array'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<th>b</th>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr _type='B'>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>b3</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='array'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<th>b</th>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr _type='B'>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"</table>\n",
+ { /* 20 */
+ new Input<BeanWithPropertiesWithTypeNames>(
+ "BeanWithPropertiesWithTypeNames",
+ BeanWithPropertiesWithTypeNames.class,
+ new BeanWithPropertiesWithTypeNames().init(),
+ "<table>"
+ +"<tr>"
+ +"<td>b1</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b2</td>"
+ +"<td>"
+ +"<table _type='B'>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b1</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>b</td>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b2</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='B'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>b</td>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>b1</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b2</td>"
+ +"<td>"
+ +"<table _type='B'>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(BeanWithPropertiesWithTypeNames o) {
+ assertType(B.class, o.b2);
+ }
+ }
+ },
+ { /* 21 */
+ new Input<BeanWithPropertiesWithArrayTypeNames>(
+ "BeanWithPropertiesWithArrayTypeNames",
+ BeanWithPropertiesWithArrayTypeNames.class,
+ new BeanWithPropertiesWithArrayTypeNames().init(),
+ "<table>"
+ +"<tr>"
+ +"<td>b1</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>b</th>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b2</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>b</th>"
+ +"</tr>"
+ +"<tr _type='B'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b3</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>b</th>"
+ +"</tr>"
+ +"<tr _type='B'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b1</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<th>b</th>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b2</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<th>b</th>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr _type='B'>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b3</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<th>b</th>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr _type='B'>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>b1</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>b</th>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b2</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>b</th>"
+ +"</tr>"
+ +"<tr _type='B'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b3</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>b</th>"
+ +"</tr>"
+ +"<tr _type='B'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(BeanWithPropertiesWithArrayTypeNames o) {
+ assertType(B.class, o.b2[0]);
+ assertType(B.class, o.b3[0]);
+ }
+ }
},
- {
- "BeanWithPropertiesWith2dArrayTypeNames",
- new BeanWithPropertiesWith2dArrayTypeNames().init(),
- "<table>"
- +"<tr>"
- +"<td>b1</td>"
- +"<td>"
- +"<ul>"
- +"<li>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>b</th>"
- +"</tr>"
- +"<tr>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</li>"
- +"</ul>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>b2</td>"
- +"<td>"
+ { /* 22 */
+ new Input<BeanWithPropertiesWith2dArrayTypeNames>(
+ "BeanWithPropertiesWith2dArrayTypeNames",
+ BeanWithPropertiesWith2dArrayTypeNames.class,
+ new BeanWithPropertiesWith2dArrayTypeNames().init(),
+ "<table>"
+ +"<tr>"
+ +"<td>b1</td>"
+ +"<td>"
+"<ul>"
+"<li>"
+"<table _type='array'>"
@@ -615,855 +1030,1585 @@ public class BasicHtmlTest {
+"</li>"
+"</ul>"
+"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>b3</td>"
- +"<td>"
- +"<ul>"
- +"<li>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>b</th>"
- +"</tr>"
- +"<tr _type='B'>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</li>"
- +"</ul>"
- +"</td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>b1</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<ul>\n"
- +"\t\t\t\t<li>\n"
- +"\t\t\t\t\t<table _type='array'>\n"
- +"\t\t\t\t\t\t<tr>\n"
- +"\t\t\t\t\t\t\t<th>b</th>\n"
- +"\t\t\t\t\t\t</tr>\n"
- +"\t\t\t\t\t\t<tr>\n"
- +"\t\t\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t\t\t</tr>\n"
- +"\t\t\t\t\t</table>\n"
- +"\t\t\t\t</li>\n"
- +"\t\t\t</ul>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>b2</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<ul>\n"
- +"\t\t\t\t<li>\n"
- +"\t\t\t\t\t<table _type='array'>\n"
- +"\t\t\t\t\t\t<tr>\n"
- +"\t\t\t\t\t\t\t<th>b</th>\n"
- +"\t\t\t\t\t\t</tr>\n"
- +"\t\t\t\t\t\t<tr>\n"
- +"\t\t\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t\t\t</tr>\n"
- +"\t\t\t\t\t</table>\n"
- +"\t\t\t\t</li>\n"
- +"\t\t\t</ul>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>b3</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<ul>\n"
- +"\t\t\t\t<li>\n"
- +"\t\t\t\t\t<table _type='array'>\n"
- +"\t\t\t\t\t\t<tr>\n"
- +"\t\t\t\t\t\t\t<th>b</th>\n"
- +"\t\t\t\t\t\t</tr>\n"
- +"\t\t\t\t\t\t<tr _type='B'>\n"
- +"\t\t\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t\t\t</tr>\n"
- +"\t\t\t\t\t</table>\n"
- +"\t\t\t\t</li>\n"
- +"\t\t\t</ul>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"</table>\n"
- },
- {
- "BeanWithPropertiesWithMapTypeNames",
- new BeanWithPropertiesWithMapTypeNames().init(),
- "<table>"
- +"<tr>"
- +"<td>b1</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>k1</td>"
- +"<td>"
- +"<table>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b2</td>"
+ +"<td>"
+ +"<ul>"
+ +"<li>"
+ +"<table _type='array'>"
+"<tr>"
- +"<td>b</td>"
+ +"<th>b</th>"
+ +"</tr>"
+ +"<tr _type='B'>"
+"<td>foo</td>"
+"</tr>"
+"</table>"
- +"</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>b2</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>k2</td>"
- +"<td>"
- +"<table _type='B'>"
+ +"</li>"
+ +"</ul>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b3</td>"
+ +"<td>"
+ +"<ul>"
+ +"<li>"
+ +"<table _type='array'>"
+"<tr>"
- +"<td>b</td>"
+ +"<th>b</th>"
+ +"</tr>"
+ +"<tr _type='B'>"
+"<td>foo</td>"
+"</tr>"
+"</table>"
- +"</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>b1</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>k1</td>\n"
- +"\t\t\t\t\t<td>\n"
- +"\t\t\t\t\t\t<table>\n"
- +"\t\t\t\t\t\t\t<tr>\n"
- +"\t\t\t\t\t\t\t\t<td>b</td>\n"
- +"\t\t\t\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t\t\t\t</tr>\n"
- +"\t\t\t\t\t\t</table>\n"
- +"\t\t\t\t\t</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>b2</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>k2</td>\n"
- +"\t\t\t\t\t<td>\n"
- +"\t\t\t\t\t\t<table _type='B'>\n"
- +"\t\t\t\t\t\t\t<tr>\n"
- +"\t\t\t\t\t\t\t\t<td>b</td>\n"
- +"\t\t\t\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t\t\t\t</tr>\n"
- +"\t\t\t\t\t\t</table>\n"
- +"\t\t\t\t\t</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"</table>\n",
- },
- {
- "LinkBean-1",
- new LinkBean().init(),
- "<a href='http://apache.org'>foo</a>",
- "<a href='http://apache.org'>foo</a>"
- },
- {
- "LinkBean-2",
- new LinkBean[]{new LinkBean().init(),new LinkBean().init()},
- "<ul><li><a href='http://apache.org'>foo</a></li><li><a href='http://apache.org'>foo</a></li></ul>",
- "<ul>\n\t<li><a href='http://apache.org'>foo</a></li>\n\t<li><a href='http://apache.org'>foo</a></li>\n</ul>\n"
- },
- {
- "ListWithLinkBeans",
- new ListWithLinkBeans().append(new LinkBean().init()).append(new LinkBean().init()),
- "<ul><li><a href='http://apache.org'>foo</a></li><li><a href='http://apache.org'>foo</a></li></ul>",
- "<ul>\n\t<li><a href='http://apache.org'>foo</a></li>\n\t<li><a href='http://apache.org'>foo</a></li>\n</ul>\n"
- },
- {
- "BeanWithLinkBeanProperties",
- new BeanWithLinkBeanProperties().init(),
- "<table>"
- +"<tr>"
- +"<td>a</td>"
- +"<td><a href='http://apache.org'>foo</a></td>"
- +"</tr>"
- +"<tr>"
- +"<td>b</td>"
- +"<td>"
- +"<ul>"
- +"<li><a href='http://apache.org'>foo</a></li>"
- +"</ul>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>c</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>c1</td>"
- +"<td><a href='http://apache.org'>foo</a></td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>a</td>\n"
- +"\t\t<td><a href='http://apache.org'>foo</a></td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>b</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<ul>\n"
- +"\t\t\t\t<li><a href='http://apache.org'>foo</a></li>\n"
- +"\t\t\t</ul>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>c</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>c1</td>\n"
- +"\t\t\t\t\t<td><a href='http://apache.org'>foo</a></td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"</table>\n"
- },
- {
- "BeanWithSpecialCharacters",
- new BeanWithSpecialCharacters().init(),
- "<table><tr><td>a</td><td><sp> </sp> <bs/><ff/><br/><sp> </sp> <sp> </sp></td></tr></table>",
- "<table>\n\t<tr>\n\t\t<td>a</td>\n\t\t<td><sp> </sp> <bs/><ff/><br/><sp> </sp> <sp> </sp></td>\n\t</tr>\n</table>\n"
- },
- {
- "BeanWithSpecialCharacters2",
- new BeanWithSpecialCharacters().init(),
- "<table><tr><td>a</td><td><sp> </sp> <bs/><ff/><br/><sp> </sp> <sp> </sp></td></tr></table>",
- "<table>\n"
- +" <tr>\n"
- +" <td>a</td>\n"
- +" <td><sp> </sp> <bs/><ff/><br/><sp> </sp> <sp> </sp></td>\n"
- +" </tr>\n"
- +"</table>\n"
- },
- {
- "BeanWithNullProperties",
- new BeanWithNullProperties(),
- "<table></table>",
- "<table>\n</table>\n"
- },
- {
- "BeanWithAbstractFields",
- new BeanWithAbstractFields().init(),
- "<table>"
- +"<tr>"
- +"<td>a</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>a</td>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>ia</td>"
- +"<td>"
- +"<table _type='A'>"
- +"<tr>"
- +"<td>a</td>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>aa</td>"
- +"<td>"
- +"<table _type='A'>"
- +"<tr>"
- +"<td>a</td>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>o</td>"
- +"<td>"
- +"<table _type='A'>"
- +"<tr>"
- +"<td>a</td>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>a</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>a</td>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>ia</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='A'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>a</td>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>aa</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='A'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>a</td>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>o</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='A'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>a</td>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"</table>\n"
- },
- {
- "BeanWithAbstractArrayFields",
- new BeanWithAbstractArrayFields().init(),
- "<table>"
- +"<tr>"
- +"<td>a</td>"
- +"<td>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>a</th>"
- +"</tr>"
- +"<tr>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>ia1</td>"
- +"<td>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>a</th>"
- +"</tr>"
- +"<tr _type='A'>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>ia2</td>"
- +"<td>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>a</th>"
- +"</tr>"
- +"<tr _type='A'>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>aa1</td>"
- +"<td>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>a</th>"
- +"</tr>"
- +"<tr _type='A'>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>aa2</td>"
- +"<td>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>a</th>"
- +"</tr>"
- +"<tr _type='A'>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>o1</td>"
- +"<td>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>a</th>"
- +"</tr>"
- +"<tr _type='A'>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>o2</td>"
- +"<td>"
- +"<table _type='array'>"
- +"<tr>"
- +"<th>a</th>"
- +"</tr>"
- +"<tr _type='A'>"
- +"<td>foo</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>a</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='array'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<th>a</th>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>ia1</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='array'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<th>a</th>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr _type='A'>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>ia2</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='array'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<th>a</th>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr _type='A'>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>aa1</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='array'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<th>a</th>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr _type='A'>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>aa2</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='array'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<th>a</th>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr _type='A'>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>o1</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='array'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<th>a</th>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr _type='A'>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>o2</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table _type='array'>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<th>a</th>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t\t<tr _type='A'>\n"
- +"\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"</table>\n",
- },
- {
- "BeanWithAbstractMapFields",
- new BeanWithAbstractMapFields().init(),
- "<table>"
- +"<tr>"
- +"<td>a</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>k1</td>"
- +"<td>"
- +"<table>"
+ +"</li>"
+ +"</ul>"
+ +"</td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b1</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<ul>\n"
+ +"\t\t\t\t<li>\n"
+ +"\t\t\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t\t\t<th>b</th>\n"
+ +"\t\t\t\t\t\t</tr>\n"
+ +"\t\t\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t\t\t</tr>\n"
+ +"\t\t\t\t\t</table>\n"
+ +"\t\t\t\t</li>\n"
+ +"\t\t\t</ul>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b2</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<ul>\n"
+ +"\t\t\t\t<li>\n"
+ +"\t\t\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t\t\t<th>b</th>\n"
+ +"\t\t\t\t\t\t</tr>\n"
+ +"\t\t\t\t\t\t<tr _type='B'>\n"
+ +"\t\t\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t\t\t</tr>\n"
+ +"\t\t\t\t\t</table>\n"
+ +"\t\t\t\t</li>\n"
+ +"\t\t\t</ul>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b3</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<ul>\n"
+ +"\t\t\t\t<li>\n"
+ +"\t\t\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t\t\t<th>b</th>\n"
+ +"\t\t\t\t\t\t</tr>\n"
+ +"\t\t\t\t\t\t<tr _type='B'>\n"
+ +"\t\t\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t\t\t</tr>\n"
+ +"\t\t\t\t\t</table>\n"
+ +"\t\t\t\t</li>\n"
+ +"\t\t\t</ul>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>b1</td>"
+ +"<td>"
+ +"<ul>"
+ +"<li>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>b</th>"
+ +"</tr>"
+"<tr>"
- +"<td>a</td>"
+"<td>foo</td>"
+"</tr>"
+"</table>"
- +"</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>b</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>k2</td>"
- +"<td>"
- +"<table _type='A'>"
+ +"</li>"
+ +"</ul>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b2</td>"
+ +"<td>"
+ +"<ul>"
+ +"<li>"
+ +"<table _type='array'>"
+"<tr>"
- +"<td>a</td>"
+ +"<th>b</th>"
+ +"</tr>"
+ +"<tr _type='B'>"
+"<td>foo</td>"
+"</tr>"
+"</table>"
- +"</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"<tr>"
- +"<td>c</td>"
- +"<td>"
- +"<table>"
- +"<tr>"
- +"<td>k3</td>"
- +"<td>"
- +"<table _type='A'>"
+ +"</li>"
+ +"</ul>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b3</td>"
+ +"<td>"
+ +"<ul>"
+ +"<li>"
+ +"<table _type='array'>"
+"<tr>"
- +"<td>a</td>"
+ +"<th>b</th>"
+ +"</tr>"
+ +"<tr _type='B'>"
+"<td>foo</td>"
+"</tr>"
+"</table>"
- +"</td>"
- +"</tr>"
- +"</table>"
- +"</td>"
- +"</tr>"
- +"</table>",
- "<table>\n"
- +"\t<tr>\n"
- +"\t\t<td>a</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>k1</td>\n"
- +"\t\t\t\t\t<td>\n"
- +"\t\t\t\t\t\t<table>\n"
- +"\t\t\t\t\t\t\t<tr>\n"
- +"\t\t\t\t\t\t\t\t<td>a</td>\n"
- +"\t\t\t\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t\t\t\t</tr>\n"
- +"\t\t\t\t\t\t</table>\n"
- +"\t\t\t\t\t</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>b</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>k2</td>\n"
- +"\t\t\t\t\t<td>\n"
- +"\t\t\t\t\t\t<table _type='A'>\n"
- +"\t\t\t\t\t\t\t<tr>\n"
- +"\t\t\t\t\t\t\t\t<td>a</td>\n"
- +"\t\t\t\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t\t\t\t</tr>\n"
- +"\t\t\t\t\t\t</table>\n"
- +"\t\t\t\t\t</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"\t<tr>\n"
- +"\t\t<td>c</td>\n"
- +"\t\t<td>\n"
- +"\t\t\t<table>\n"
- +"\t\t\t\t<tr>\n"
- +"\t\t\t\t\t<td>k3</td>\n"
- +"\t\t\t\t\t<td>\n"
- +"\t\t\t\t\t\t<table _type='A'>\n"
- +"\t\t\t\t\t\t\t<tr>\n"
- +"\t\t\t\t\t\t\t\t<td>a</td>\n"
- +"\t\t\t\t\t\t\t\t<td>foo</td>\n"
- +"\t\t\t\t\t\t\t</tr>\n"
- +"\t\t\t\t\t\t</table>\n"
- +"\t\t\t\t\t</td>\n"
- +"\t\t\t\t</tr>\n"
- +"\t\t\t</table>\n"
- +"\t\t</td>\n"
- +"\t</tr>\n"
- +"</table>\n"
+ +"</li>"
+ +"</ul>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(BeanWithPropertiesWith2dArrayTypeNames o) {
+ assertType(B.class, o.b2[0][0]);
+ assertType(B.class, o.b3[0][0]);
+ }
+ }
+ },
+ { /* 23 */
+ new Input<BeanWithPropertiesWithMapTypeNames>(
+ "BeanWithPropertiesWithMapTypeNames",
+ BeanWithPropertiesWithMapTypeNames.class,
+ new BeanWithPropertiesWithMapTypeNames().init(),
+ "<table>"
+ +"<tr>"
+ +"<td>b1</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b2</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td>"
+ +"<table _type='B'>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b1</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>k1</td>\n"
+ +"\t\t\t\t\t<td>\n"
+ +"\t\t\t\t\t\t<table>\n"
+ +"\t\t\t\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t\t\t\t<td>b</td>\n"
+ +"\t\t\t\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t\t\t\t</tr>\n"
+ +"\t\t\t\t\t\t</table>\n"
+ +"\t\t\t\t\t</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b2</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>k2</td>\n"
+ +"\t\t\t\t\t<td>\n"
+ +"\t\t\t\t\t\t<table _type='B'>\n"
+ +"\t\t\t\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t\t\t\t<td>b</td>\n"
+ +"\t\t\t\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t\t\t\t</tr>\n"
+ +"\t\t\t\t\t\t</table>\n"
+ +"\t\t\t\t\t</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>b1</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b2</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td>"
+ +"<table _type='B'>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(BeanWithPropertiesWithMapTypeNames o) {
+ assertType(B.class, o.b1.get("k1"));
+ assertType(B.class, o.b2.get("k2"));
+ }
+ }
+ },
+ { /* 24 */
+ new Input<LinkBean>(
+ "LinkBean-1",
+ LinkBean.class,
+ new LinkBean().init(),
+ "<a href='http://apache.org'>foo</a>",
+ "<a href='http://apache.org'>foo</a>",
+ "<a href='http://apache.org'>foo</a>"
+ )
+ {
+ public void verify(LinkBean o) {
+ assertType(LinkBean.class, o);
+ }
+ }
},
- {
- "BeanWithWhitespaceTextFields-1",
- new BeanWithWhitespaceTextFields().init(null),
- "<object></object>",
- "<object></object>\n",
+ { /* 25 */
+ new Input<LinkBean[]>(
+ "LinkBean-2",
+ LinkBean[].class,
+ new LinkBean[]{new LinkBean().init(),new LinkBean().init()},
+ "<ul><li><a href='http://apache.org'>foo</a></li><li><a href='http://apache.org'>foo</a></li></ul>",
+ "<ul>\n\t<li><a href='http://apache.org'>foo</a></li>\n\t<li><a href='http://apache.org'>foo</a></li>\n</ul>\n",
+ "<ul><li><a href='http://apache.org'>foo</a></li><li><a href='http://apache.org'>foo</a></li></ul>"
+ )
+ {
+ public void verify(LinkBean[] o) {
+ assertType(LinkBean.class, o[0]);
+ }
+ }
},
- {
- "BeanWithWhitespaceTextFields-2",
- new BeanWithWhitespaceTextFields().init(""),
- "<object><sp/></object>",
- "<object><sp/></object>\n",
+ { /* 26 */
+ new Input<List<LinkBean>>(
+ "ListWithLinkBeans",
+ ListWithLinkBeans.class,
+ new ListWithLinkBeans().append(new LinkBean().init()).append(new LinkBean().init()),
+ "<ul><li><a href='http://apache.org'>foo</a></li><li><a href='http://apache.org'>foo</a></li></ul>",
+ "<ul>\n\t<li><a href='http://apache.org'>foo</a></li>\n\t<li><a href='http://apache.org'>foo</a></li>\n</ul>\n",
+ "<ul><li><a href='http://apache.org'>foo</a></li><li><a href='http://apache.org'>foo</a></li></ul>"
+ )
+ {
+ public void verify(List<LinkBean> o) {
+ assertType(LinkBean.class, o.get(0));
+ }
+ }
},
- {
- "BeanWithWhitespaceTextFields-3",
- new BeanWithWhitespaceTextFields().init(" "),
- "<object><sp> </sp></object>",
- "<object><sp> </sp></object>\n",
+ { /* 27 */
+ new Input<BeanWithLinkBeanProperties>(
+ "BeanWithLinkBeanProperties",
+ BeanWithLinkBeanProperties.class,
+ new BeanWithLinkBeanProperties().init(),
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td><a href='http://apache.org'>foo</a></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>"
+ +"<ul>"
+ +"<li><a href='http://apache.org'>foo</a></li>"
+ +"</ul>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>c</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>c1</td>"
+ +"<td><a href='http://apache.org'>foo</a></td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>a</td>\n"
+ +"\t\t<td><a href='http://apache.org'>foo</a></td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<ul>\n"
+ +"\t\t\t\t<li><a href='http://apache.org'>foo</a></li>\n"
+ +"\t\t\t</ul>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>c</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>c1</td>\n"
+ +"\t\t\t\t\t<td><a href='http://apache.org'>foo</a></td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td><a href='http://apache.org'>foo</a></td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>"
+ +"<ul>"
+ +"<li><a href='http://apache.org'>foo</a></li>"
+ +"</ul>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>c</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>c1</td>"
+ +"<td><a href='http://apache.org'>foo</a></td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(BeanWithLinkBeanProperties o) {
+ assertType(LinkBean.class, o.a);
+ assertType(LinkBean.class, o.b.get(0));
+ assertType(LinkBean.class, o.c.get("c1"));
+ }
+ }
+ },
+ { /* 28 */
+ new Input<BeanWithSpecialCharacters>(
+ "BeanWithSpecialCharacters",
+ BeanWithSpecialCharacters.class,
+ new BeanWithSpecialCharacters().init(),
+ "<table><tr><td>a</td><td><sp> </sp> <bs/><ff/><br/><sp> </sp> <sp> </sp></td></tr></table>",
+ "<table>\n\t<tr>\n\t\t<td>a</td>\n\t\t<td><sp> </sp> <bs/><ff/><br/><sp> </sp> <sp> </sp></td>\n\t</tr>\n</table>\n",
+ "<table><tr><td>a</td><td><sp> </sp> <bs/><ff/><br/><sp> </sp> <sp> </sp></td></tr></table>"
+ )
+ {
+ public void verify(BeanWithSpecialCharacters o) {
+ assertType(BeanWithSpecialCharacters.class, o);
+ }
+ }
+ },
+ { /* 29 */
+ new Input<BeanWithSpecialCharacters>(
+ "BeanWithSpecialCharacters-2",
+ BeanWithSpecialCharacters.class,
+ new BeanWithSpecialCharacters().init(),
+ "<table><tr><td>a</td><td><sp> </sp> <bs/><ff/><br/><sp> </sp> <sp> </sp></td></tr></table>",
+
+ "<table>\n"
+ +" <tr>\n"
+ +" <td>a</td>\n"
+ +" <td><sp> </sp> <bs/><ff/><br/><sp> </sp> <sp> </sp></td>\n"
+ +" </tr>\n"
+ +"</table>\n",
+
+ "<table><tr><td>a</td><td><sp> </sp> <bs/><ff/><br/><sp> </sp> <sp> </sp></td></tr></table>"
+ )
+ {
+ public void verify(BeanWithSpecialCharacters o) {
+ assertType(BeanWithSpecialCharacters.class, o);
+ }
+ }
},
- {
- "BeanWithWhitespaceTextFields-4",
- new BeanWithWhitespaceTextFields().init(" "),
- "<object><sp> </sp><sp> </sp></object>",
- "<object><sp> </sp><sp> </sp></object>\n",
+ { /* 30 */
+ new Input<BeanWithNullProperties>(
+ "BeanWithNullProperties",
+ BeanWithNullProperties.class,
+ new BeanWithNullProperties(),
+ "<table></table>",
+ "<table>\n</table>\n",
+ "<table></table>"
+ )
+ {
+ public void verify(BeanWithNullProperties o) {
+ assertType(BeanWithNullProperties.class, o);
+ }
+ }
+ },
+ { /* 31 */
+ new Input<BeanWithAbstractFields>(
+ "BeanWithAbstractFields",
+ BeanWithAbstractFields.class,
+ new BeanWithAbstractFields().init(),
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>ia</td>"
+ +"<td>"
+ +"<table _type='A'>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>aa</td>"
+ +"<td>"
+ +"<table _type='A'>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>o</td>"
+ +"<td>"
+ +"<table _type='A'>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>a</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>a</td>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>ia</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='A'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>a</td>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>aa</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='A'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>a</td>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>o</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='A'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>a</td>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>ia</td>"
+ +"<td>"
+ +"<table _type='A'>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>aa</td>"
+ +"<td>"
+ +"<table _type='A'>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>o</td>"
+ +"<td>"
+ +"<table _type='A'>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(BeanWithAbstractFields o) {
+ assertType(A.class, o.a);
+ assertType(A.class, o.ia);
+ assertType(A.class, o.aa);
+ assertType(A.class, o.o);
+ }
+ }
+ },
+ { /* 32 */
+ new Input<BeanWithAbstractArrayFields>(
+ "BeanWithAbstractArrayFields",
+ BeanWithAbstractArrayFields.class,
+ new BeanWithAbstractArrayFields().init(),
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>ia1</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>ia2</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>aa1</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>aa2</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>o1</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>o2</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>a</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<th>a</th>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>ia1</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<th>a</th>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr _type='A'>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>ia2</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<th>a</th>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr _type='A'>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>aa1</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<th>a</th>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr _type='A'>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>aa2</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<th>a</th>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr _type='A'>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>o1</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<th>a</th>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr _type='A'>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>o2</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table _type='array'>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<th>a</th>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t\t<tr _type='A'>\n"
+ +"\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>ia1</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>ia2</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>aa1</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>aa2</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>o1</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>o2</td>"
+ +"<td>"
+ +"<table _type='array'>"
+ +"<tr>"
+ +"<th>a</th>"
+ +"</tr>"
+ +"<tr _type='A'>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(BeanWithAbstractArrayFields o) {
+ assertType(A.class, o.a[0]);
+ assertType(A.class, o.ia1[0]);
+ assertType(A.class, o.ia2[0]);
+ assertType(A.class, o.aa1[0]);
+ assertType(A.class, o.aa2[0]);
+ assertType(A.class, o.o1[0]);
+ assertType(A.class, o.o2[0]);
+ }
+ }
+ },
+ { /* 33 */
+ new Input<BeanWithAbstractMapFields>(
+ "BeanWithAbstractMapFields",
+ BeanWithAbstractMapFields.class,
+ new BeanWithAbstractMapFields().init(),
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td>"
+ +"<table _type='A'>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>c</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k3</td>"
+ +"<td>"
+ +"<table _type='A'>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>",
+
+ "<table>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>a</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>k1</td>\n"
+ +"\t\t\t\t\t<td>\n"
+ +"\t\t\t\t\t\t<table>\n"
+ +"\t\t\t\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t\t\t\t<td>a</td>\n"
+ +"\t\t\t\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t\t\t\t</tr>\n"
+ +"\t\t\t\t\t\t</table>\n"
+ +"\t\t\t\t\t</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>b</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>k2</td>\n"
+ +"\t\t\t\t\t<td>\n"
+ +"\t\t\t\t\t\t<table _type='A'>\n"
+ +"\t\t\t\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t\t\t\t<td>a</td>\n"
+ +"\t\t\t\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t\t\t\t</tr>\n"
+ +"\t\t\t\t\t\t</table>\n"
+ +"\t\t\t\t\t</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"\t<tr>\n"
+ +"\t\t<td>c</td>\n"
+ +"\t\t<td>\n"
+ +"\t\t\t<table>\n"
+ +"\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t<td>k3</td>\n"
+ +"\t\t\t\t\t<td>\n"
+ +"\t\t\t\t\t\t<table _type='A'>\n"
+ +"\t\t\t\t\t\t\t<tr>\n"
+ +"\t\t\t\t\t\t\t\t<td>a</td>\n"
+ +"\t\t\t\t\t\t\t\t<td>foo</td>\n"
+ +"\t\t\t\t\t\t\t</tr>\n"
+ +"\t\t\t\t\t\t</table>\n"
+ +"\t\t\t\t\t</td>\n"
+ +"\t\t\t\t</tr>\n"
+ +"\t\t\t</table>\n"
+ +"\t\t</td>\n"
+ +"\t</tr>\n"
+ +"</table>\n",
+
+ "<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k1</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>b</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k2</td>"
+ +"<td>"
+ +"<table _type='A'>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"<tr>"
+ +"<td>c</td>"
+ +"<td>"
+ +"<table>"
+ +"<tr>"
+ +"<td>k3</td>"
+ +"<td>"
+ +"<table _type='A'>"
+ +"<tr>"
+ +"<td>a</td>"
+ +"<td>foo</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ +"</td>"
+ +"</tr>"
+ +"</table>"
+ )
+ {
+ public void verify(BeanWithAbstractMapFields o) {
+ assertType(A.class, o.a.get("k1"));
+ assertType(A.class, o.b.get("k2"));
+ assertType(A.class, o.c.get("k3"));
+ }
+ }
},
- {
- "BeanWithWhitespaceTextFields-5",
- new BeanWithWhitespaceTextFields().init(" foobar "),
- "<object><sp> </sp> foobar <sp> </sp></object>",
- "<object><sp> </sp> foobar <sp> </sp></object>\n",
+ { /* 34 */
+ new Input<BeanWithWhitespaceTextFields>(
+ "BeanWithWhitespaceTextFields-1",
+ BeanWithWhitespaceTextFields.class,
+ new BeanWithWhitespaceTextFields().init(null),
+ "<object></object>",
+ "<object></object>\n",
+ "<object></object>"
+ )
+ {
+ public void verify(BeanWithWhitespaceTextFields o) {
+ assertType(BeanWithWhitespaceTextFields.class, o);
+ }
+ }
},
- {
- "BeanWithWhitespaceTextPwsFields-1",
- new BeanWithWhitespaceTextPwsFields().init(null),
- "<object></object>",
- "<object></object>\n",
+ { /* 35 */
+ new Input<BeanWithWhitespaceTextFields>(
+ "BeanWithWhitespaceTextFields-2",
+ BeanWithWhitespaceTextFields.class,
+ new BeanWithWhitespaceTextFields().init(""),
+ "<object><sp/></object>",
+ "<object><sp/></object>\n",
+ "<object><sp/></object>"
+ )
+ {
+ public void verify(BeanWithWhitespaceTextFields o) {
+ assertType(BeanWithWhitespaceTextFields.class, o);
+ }
+ }
},
- {
- "BeanWithWhitespaceTextPwsFields-2",
- new BeanWithWhitespaceTextPwsFields().init(""),
- "<object><sp/></object>",
- "<object><sp/></object>\n",
+ { /* 36 */
+ new Input<BeanWithWhitespaceTextFields>(
+ "BeanWithWhitespaceTextFields-3",
+ BeanWithWhitespaceTextFields.class,
+ new BeanWithWhitespaceTextFields().init(" "),
+ "<object><sp> </sp></object>",
+ "<object><sp> </sp></object>\n",
+ "<object><sp> </sp></object>"
+ )
+ {
+ public void verify(BeanWithWhitespaceTextFields o) {
+ assertType(BeanWithWhitespaceTextFields.class, o);
+ }
+ }
},
- {
- "BeanWithWhitespaceTextPwsFields-3",
- new BeanWithWhitespaceTextPwsFields().init(" "),
- "<object> </object>",
- "<object> </object>\n",
+ { /* 37 */
+ new Input<BeanWithWhitespaceTextFields>(
+ "BeanWithWhitespaceTextFields-4",
+ BeanWithWhitespaceTextFields.class,
+ new BeanWithWhitespaceTextFields().init(" "),
+ "<object><sp> </sp><sp> </sp></object>",
+ "<object><sp> </sp><sp> </sp></object>\n",
+ "<object><sp> </sp><sp> </sp></object>"
+ )
+ {
+ public void verify(BeanWithWhitespaceTextFields o) {
+ assertType(BeanWithWhitespaceTextFields.class, o);
+ }
+ }
},
- {
- "BeanWithWhitespaceTextPwsFields-4",
- new BeanWithWhitespaceTextPwsFields().init(" "),
- "<object> </object>",
- "<object> </object>\n",
+ { /* 38 */
+ new Input<BeanWithWhitespaceTextFields>(
+ "BeanWithWhitespaceTextFields-5",
+ BeanWithWhitespaceTextFields.class,
+ new BeanWithWhitespaceTextFields().init(" foobar "),
+ "<object><sp> </sp> foobar <sp> </sp></object>",
+ "<object><sp> </sp> foobar <sp> </sp></object>\n",
+ "<object><sp> </sp> foobar <sp> </sp></object>"
+ )
+ {
+ public void verify(BeanWithWhitespaceTextFields o) {
+ assertType(BeanWithWhitespaceTextFields.class, o);
+ }
+ }
},
- {
- "BeanWithWhitespaceTextPwsFields-5",
- new BeanWithWhitespaceTextPwsFields().init(" foobar "),
- "<object> foobar </object>",
- "<object> foobar </object>\n",
+ { /* 39 */
+ new Input<BeanWithWhitespaceTextPwsFields>(
+ "BeanWithWhitespaceTextPwsFields-1",
+ BeanWithWhitespaceTextPwsFields.class,
+ new BeanWithWhitespaceTextPwsFields().init(null),
+ "<object></object>",
+ "<object></object>\n",
+ "<object></object>"
+ )
+ {
+ public void verify(BeanWithWhitespaceTextPwsFields o) {
+ assertType(BeanWithWhitespaceTextPwsFields.class, o);
+ }
+ }
},
- {
- "BeanWithWhitespaceMixedFields-1",
- new BeanWithWhitespaceMixedFields().init(null),
- "<object></object>",
- "<object></object>\n",
+ { /* 40 */
+ new Input<BeanWithWhitespaceTextPwsFields>(
+ "BeanWithWhitespaceTextPwsFields-2",
+ BeanWithWhitespaceTextPwsFields.class,
+ new BeanWithWhitespaceTextPwsFields().init(""),
+ "<object><sp/></object>",
+ "<object><sp/></object>\n",
+ "<object><sp/></object>"
+ )
+ {
+ public void verify(BeanWithWhitespaceTextPwsFields o) {
+ assertType(BeanWithWhitespaceTextPwsFields.class, o);
+ }
+ }
},
- {
- "BeanWithWhitespaceMixedFields-2",
- new BeanWithWhitespaceMixedFields().init(new String[0]),
- "<object></object>",
- "<object></object>\n",
+ { /* 41 */
+ new Input<BeanWithWhitespaceTextPwsFields>(
+ "BeanWithWhitespaceTextPwsFields-3",
+ BeanWithWhitespaceTextPwsFields.class,
+ new BeanWithWhitespaceTextPwsFields().init(" "),
+ "<object> </object>",
+ "<object> </object>\n",
+ "<object> </object>"
+ )
+ {
+ public void verify(BeanWithWhitespaceTextPwsFields o) {
+ assertType(BeanWithWhitespaceTextPwsFields.class, o);
+ }
+ }
},
- {
- "BeanWithWhitespaceMixedFields-3",
- new BeanWithWhitespaceMixedFields().init(new String[]{""}),
- "<object><sp/></object>",
- "<object><sp/></object>\n",
+ { /* 42 */
+ new Input<BeanWithWhitespaceTextPwsFields>(
+ "BeanWithWhitespaceTextPwsFields-4",
+ BeanWithWhitespaceTextPwsFields.class,
+ new BeanWithWhitespaceTextPwsFields().init(" "),
+ "<object> </object>",
+ "<object> </object>\n",
+ "<object> </object>"
+ )
+ {
+ public void verify(BeanWithWhitespaceTextPwsFields o) {
+ assertType(BeanWithWhitespaceTextPwsFields.class, o);
+ }
+ }
},
- {
- "BeanWithWhitespaceMixedFields-4",
- new BeanWithWhitespaceMixedFields().init(new String[]{" "}),
- "<object><sp> </sp></object>",
- "<object><sp> </sp></object>\n",
+ { /* 43 */
+ new Input<BeanWithWhitespaceTextPwsFields>(
+ "BeanWithWhitespaceTextPwsFields-5",
+ BeanWithWhitespaceTextPwsFields.class,
<TRUNCATED>