javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypesTest.java
branchfx
changeset 1014 7a7686e6f875
parent 960 4887e22cb810
     1.1 --- a/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypesTest.java	Tue Apr 09 10:06:19 2013 +0200
     1.2 +++ b/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/ConvertTypesTest.java	Thu Apr 18 17:28:34 2013 +0200
     1.3 @@ -20,6 +20,8 @@
     1.4  import org.apidesign.bck2brwsr.core.JavaScriptBody;
     1.5  import org.apidesign.bck2brwsr.vmtest.BrwsrTest;
     1.6  import org.apidesign.bck2brwsr.vmtest.VMTest;
     1.7 +import org.json.JSONException;
     1.8 +import org.json.JSONObject;
     1.9  import org.testng.annotations.Factory;
    1.10  
    1.11  /**
    1.12 @@ -27,17 +29,25 @@
    1.13   * @author Jaroslav Tulach <jtulach@netbeans.org>
    1.14   */
    1.15  public class ConvertTypesTest {
    1.16 -    @JavaScriptBody(args = {  }, body = "var json = new Object();"
    1.17 +    @JavaScriptBody(args = { "includeSex" }, body = "var json = new Object();"
    1.18          + "json.firstName = 'son';\n"
    1.19          + "json.lastName = 'dj';\n"
    1.20          + "json.sex = 'MALE';\n"
    1.21          + "return json;"
    1.22      )
    1.23 -    private static native Object createJSON();
    1.24 +    private static Object createJSON(boolean includeSex) throws JSONException {
    1.25 +        JSONObject o = new JSONObject();
    1.26 +        o.put("firstName", "son");
    1.27 +        o.put("lastName", "dj");
    1.28 +        if (includeSex) {
    1.29 +            o.put("sex", "MALE");
    1.30 +        }
    1.31 +        return o;
    1.32 +    }
    1.33      
    1.34      @BrwsrTest
    1.35 -    public void testConvertToPeople() {
    1.36 -        final Object o = createJSON();
    1.37 +    public void testConvertToPeople() throws JSONException {
    1.38 +        final Object o = createJSON(true);
    1.39          
    1.40          Person p = new Person(o);
    1.41          
    1.42 @@ -45,6 +55,17 @@
    1.43          assert "dj".equals(p.getLastName()) : "Last name: " + p.getLastName();
    1.44          assert Sex.MALE.equals(p.getSex()) : "Sex: " + p.getSex();
    1.45      }
    1.46 +
    1.47 +    @BrwsrTest
    1.48 +    public void testConvertToPeopleWithoutSex() throws JSONException {
    1.49 +        final Object o = createJSON(false);
    1.50 +        
    1.51 +        Person p = new Person(o);
    1.52 +        
    1.53 +        assert "son".equals(p.getFirstName()) : "First name: " + p.getFirstName();
    1.54 +        assert "dj".equals(p.getLastName()) : "Last name: " + p.getLastName();
    1.55 +        assert p.getSex() == null : "No sex: " + p.getSex();
    1.56 +    }
    1.57      
    1.58      @Factory public static Object[] create() {
    1.59          return VMTest.create(ConvertTypesTest.class);