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>
