Verify we can deserialize arrays inside of a JSON object
authorJaroslav Tulach <jtulach@netbeans.org>
Sun, 14 Jun 2015 21:45:02 +0200
changeset 942c76ea8b1af46
parent 941 79a75e7f7558
child 943 aca916b876cf
Verify we can deserialize arrays inside of a JSON object
json-tck/src/main/java/net/java/html/json/tests/ConvertTypesTest.java
     1.1 --- a/json-tck/src/main/java/net/java/html/json/tests/ConvertTypesTest.java	Sun Jun 07 20:40:39 2015 +0200
     1.2 +++ b/json-tck/src/main/java/net/java/html/json/tests/ConvertTypesTest.java	Sun Jun 14 21:45:02 2015 +0200
     1.3 @@ -45,6 +45,7 @@
     1.4  import java.io.ByteArrayInputStream;
     1.5  import java.io.EOFException;
     1.6  import java.io.InputStream;
     1.7 +import java.io.SequenceInputStream;
     1.8  import java.io.UnsupportedEncodingException;
     1.9  import java.util.ArrayList;
    1.10  import java.util.HashMap;
    1.11 @@ -266,6 +267,34 @@
    1.12              assertNull(p.getSex(), "No sex: " + p.getSex());
    1.13          }
    1.14      }
    1.15 +
    1.16 +    @KOTest
    1.17 +    public void parseFiveElementsAsAnArray() throws Exception {
    1.18 +        final BrwsrCtx c = newContext();
    1.19 +        final InputStream o = createIS(false, false, 5);
    1.20 +        SequenceInputStream is = new SequenceInputStream(
    1.21 +            new ByteArrayInputStream("{ \"info\" : ".getBytes("UTF-8")),
    1.22 +            new SequenceInputStream(
    1.23 +                o,
    1.24 +                new ByteArrayInputStream("}".getBytes("UTF-8"))
    1.25 +            )
    1.26 +        );
    1.27 +
    1.28 +        List<People> res = new ArrayList<People>();
    1.29 +        Models.parse(c, People.class, is, res);
    1.30 +
    1.31 +        assertEquals(res.size(), 1, "One people" + res);
    1.32 +
    1.33 +        int cnt = 0;
    1.34 +        for (Person p : res.get(0).getInfo()) {
    1.35 +            assertEquals("son", p.getFirstName(), "First name: " + p.getFirstName());
    1.36 +            assertEquals("dj", p.getLastName(), "Last name: " + p.getLastName());
    1.37 +            assertNull(p.getSex(), "No sex: " + p.getSex());
    1.38 +            cnt++;
    1.39 +        }
    1.40 +
    1.41 +        assertEquals(cnt, 5, "Fives people found in info");
    1.42 +    }
    1.43      
    1.44      @KOTest
    1.45      public void parseOnEmptyArray() throws Exception {