javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/JSONTest.java
branchmodel
changeset 920 e2977ec1ef6e
parent 919 166924de6454
child 921 cd0a40987abb
     1.1 --- a/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/JSONTest.java	Wed Apr 03 10:04:24 2013 +0200
     1.2 +++ b/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/JSONTest.java	Wed Apr 03 10:20:17 2013 +0200
     1.3 @@ -54,5 +54,28 @@
     1.4          assertEquals(o.getString("sex"), "MALE");
     1.5      }
     1.6      
     1.7 +    @Test public void personWithWildCharactersAndNulls() throws JSONException {
     1.8 +        Person p = new Person();
     1.9 +        p.setFirstName("'\"\n");
    1.10 +        p.setLastName("\t\r\u0002");
    1.11 +        
    1.12 +        JSONTokener t = new JSONTokener(p.toString());
    1.13 +        JSONObject o;
    1.14 +        try {
    1.15 +            o = new JSONObject(t);
    1.16 +        } catch (JSONException ex) {
    1.17 +            throw new AssertionError("Can't parse " + p.toString(), ex);
    1.18 +        }
    1.19 +        
    1.20 +        Iterator it = o.sortedKeys();
    1.21 +        assertEquals(it.next(), "firstName");
    1.22 +        assertEquals(it.next(), "lastName");
    1.23 +        assertEquals(it.next(), "sex");
    1.24 +        
    1.25 +        assertEquals(o.getString("firstName"), p.getFirstName());
    1.26 +        assertEquals(o.getString("lastName"), p.getLastName());
    1.27 +        assertEquals(o.get("sex"), JSONObject.NULL);
    1.28 +    }
    1.29 +    
    1.30      
    1.31  }