1.1 --- a/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/JSONTest.java Sun Apr 07 19:29:55 2013 +0200
1.2 +++ b/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/JSONTest.java Sun Apr 07 21:41:57 2013 +0200
1.3 @@ -127,14 +127,12 @@
1.4 @OnReceive(url="/{url}")
1.5 static void fetch(Person p, JSONik model) {
1.6 model.setFetched(p);
1.7 - throw new IllegalStateException("Got him: " + p);
1.8 }
1.9
1.10 @OnReceive(url="/{url}")
1.11 static void fetchArray(Person[] p, JSONik model) {
1.12 model.setFetchedCount(p.length);
1.13 model.setFetched(p[0]);
1.14 - throw new IllegalStateException("Got in array him: " + Arrays.asList(p));
1.15 }
1.16
1.17 @OnReceive(url="/{url}")
1.18 @@ -142,6 +140,15 @@
1.19 model.setFetchedCount(p.getInfo().size());
1.20 model.setFetched(p.getInfo().get(0));
1.21 }
1.22 +
1.23 + @OnReceive(url="/{url}")
1.24 + static void fetchPeopleAge(People p, JSONik model) {
1.25 + int sum = 0;
1.26 + for (int a : p.getAge()) {
1.27 + sum += a;
1.28 + }
1.29 + model.setFetchedCount(sum);
1.30 + }
1.31
1.32 @Http(@Http.Resource(
1.33 content = "{'firstName': 'Sitar', 'sex': 'MALE'}",
1.34 @@ -161,7 +168,6 @@
1.35 throw new InterruptedException();
1.36 }
1.37
1.38 - assert p != null : "We should get our person back: " + p;
1.39 assert "Sitar".equals(p.getFirstName()) : "Expecting Sitar: " + p.getFirstName();
1.40 // assert Sex.MALE.equals(p.getSex()) : "Expecting MALE: " + p.getSex();
1.41 }
1.42 @@ -239,6 +245,26 @@
1.43 }
1.44
1.45 @Http(@Http.Resource(
1.46 + content = "{'age':[1, 2, 3]}",
1.47 + path="/people.json",
1.48 + mimeType = "application/json"
1.49 + ))
1.50 + @BrwsrTest public void loadAndParseArrayOfIntegers() throws InterruptedException {
1.51 + if (js == null) {
1.52 + js = new JSONik();
1.53 + js.applyBindings();
1.54 +
1.55 + js.fetchPeopleAge("people.json");
1.56 + }
1.57 +
1.58 + if (0 == js.getFetchedCount()) {
1.59 + throw new InterruptedException();
1.60 + }
1.61 +
1.62 + assert js.getFetchedCount() == 6 : "1 + 2 + 3 is " + js.getFetchedCount();
1.63 + }
1.64 +
1.65 + @Http(@Http.Resource(
1.66 content = "[{'firstName': 'Gitar', 'sex': 'FEMALE'},"
1.67 + "{'firstName': 'Peter', 'sex': 'MALE'}"
1.68 + "]",