diff -r 4887e22cb810 -r e2d1dc505c24 javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypesTest.java --- a/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypesTest.java Tue Apr 09 10:06:19 2013 +0200 +++ b/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypesTest.java Thu Apr 18 17:34:28 2013 +0200 @@ -27,17 +27,17 @@ * @author Jaroslav Tulach */ public class ConvertTypesTest { - @JavaScriptBody(args = { }, body = "var json = new Object();" + @JavaScriptBody(args = { "includeSex" }, body = "var json = new Object();" + "json.firstName = 'son';\n" + "json.lastName = 'dj';\n" - + "json.sex = 'MALE';\n" + + "if (includeSex) json.sex = 'MALE';\n" + "return json;" ) - private static native Object createJSON(); + private static native Object createJSON(boolean includeSex); @BrwsrTest - public void testConvertToPeople() { - final Object o = createJSON(); + public void testConvertToPeople() throws Exception { + final Object o = createJSON(true); Person p = new Person(o); @@ -45,6 +45,17 @@ assert "dj".equals(p.getLastName()) : "Last name: " + p.getLastName(); assert Sex.MALE.equals(p.getSex()) : "Sex: " + p.getSex(); } + + @BrwsrTest + public void testConvertToPeopleWithoutSex() throws Exception { + final Object o = createJSON(false); + + Person p = new Person(o); + + assert "son".equals(p.getFirstName()) : "First name: " + p.getFirstName(); + assert "dj".equals(p.getLastName()) : "Last name: " + p.getLastName(); + assert p.getSex() == null : "No sex: " + p.getSex(); + } @Factory public static Object[] create() { return VMTest.create(ConvertTypesTest.class);