javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/JSONTest.java
branchmodel
changeset 944 1e2b0dcc8326
parent 943 28aae214c202
child 954 6448c284fe21
     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          + "]",