1.1 --- a/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/JSONTest.java Mon Apr 08 16:51:30 2013 +0200
1.2 +++ b/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/JSONTest.java Tue Apr 09 10:06:19 2013 +0200
1.3 @@ -17,9 +17,7 @@
1.4 */
1.5 package org.apidesign.bck2brwsr.htmlpage;
1.6
1.7 -import java.util.Arrays;
1.8 import java.util.Iterator;
1.9 -import java.util.List;
1.10 import org.apidesign.bck2brwsr.htmlpage.api.OnReceive;
1.11 import org.apidesign.bck2brwsr.htmlpage.api.Page;
1.12 import org.apidesign.bck2brwsr.htmlpage.api.Property;
1.13 @@ -39,7 +37,8 @@
1.14 */
1.15 @Page(xhtml = "Empty.html", className = "JSONik", properties = {
1.16 @Property(name = "fetched", type = PersonImpl.class),
1.17 - @Property(name = "fetchedCount", type = int.class)
1.18 + @Property(name = "fetchedCount", type = int.class),
1.19 + @Property(name = "fetchedSex", type = Sex.class, array = true)
1.20 })
1.21 public class JSONTest {
1.22 private JSONik js;
1.23 @@ -169,7 +168,7 @@
1.24 }
1.25
1.26 assert "Sitar".equals(p.getFirstName()) : "Expecting Sitar: " + p.getFirstName();
1.27 - // assert Sex.MALE.equals(p.getSex()) : "Expecting MALE: " + p.getSex();
1.28 + assert Sex.MALE.equals(p.getSex()) : "Expecting MALE: " + p.getSex();
1.29 }
1.30
1.31 @OnReceive(url="/{url}?callme={me}", jsonp = "me")
1.32 @@ -197,7 +196,7 @@
1.33 }
1.34
1.35 assert "Mitar".equals(p.getFirstName()) : "Unexpected: " + p.getFirstName();
1.36 - // assert Sex.MALE.equals(p.getSex()) : "Expecting MALE: " + p.getSex();
1.37 + assert Sex.MALE.equals(p.getSex()) : "Expecting MALE: " + p.getSex();
1.38 }
1.39
1.40 @Http(@Http.Resource(
1.41 @@ -220,7 +219,7 @@
1.42
1.43 assert p != null : "We should get our person back: " + p;
1.44 assert "Sitar".equals(p.getFirstName()) : "Expecting Sitar: " + p.getFirstName();
1.45 -// assert Sex.MALE.equals(p.getSex()) : "Expecting MALE: " + p.getSex();
1.46 + assert Sex.MALE.equals(p.getSex()) : "Expecting MALE: " + p.getSex();
1.47 }
1.48
1.49 @Http(@Http.Resource(
1.50 @@ -243,7 +242,7 @@
1.51
1.52 assert p != null : "We should get our person back: " + p;
1.53 assert "Gitar".equals(p.getFirstName()) : "Expecting Gitar: " + p.getFirstName();
1.54 -// assert Sex.MALE.equals(p.getSex()) : "Expecting MALE: " + p.getSex();
1.55 + assert Sex.FEMALE.equals(p.getSex()) : "Expecting FEMALE: " + p.getSex();
1.56 }
1.57
1.58 @Http(@Http.Resource(
1.59 @@ -269,7 +268,7 @@
1.60
1.61 assert p != null : "We should get our person back: " + p;
1.62 assert "Gitar".equals(p.getFirstName()) : "Expecting Gitar: " + p.getFirstName();
1.63 -// assert Sex.MALE.equals(p.getSex()) : "Expecting MALE: " + p.getSex();
1.64 + assert Sex.FEMALE.equals(p.getSex()) : "Expecting FEMALE: " + p.getSex();
1.65 }
1.66
1.67 @Http(@Http.Resource(
1.68 @@ -292,6 +291,38 @@
1.69 assert js.getFetchedCount() == 6 : "1 + 2 + 3 is " + js.getFetchedCount();
1.70 }
1.71
1.72 + @OnReceive(url="/{url}")
1.73 + static void fetchPeopleSex(People p, JSONik model) {
1.74 + model.setFetchedCount(1);
1.75 + model.getFetchedSex().addAll(p.getSex());
1.76 + }
1.77 +
1.78 +
1.79 + @Http(@Http.Resource(
1.80 + content = "{'sex':['FEMALE', 'MALE', 'MALE']}",
1.81 + path="/people.json",
1.82 + mimeType = "application/json"
1.83 + ))
1.84 + @BrwsrTest public void loadAndParseArrayOfEnums() throws InterruptedException {
1.85 + if (js == null) {
1.86 + js = new JSONik();
1.87 + js.applyBindings();
1.88 +
1.89 + js.fetchPeopleSex("people.json");
1.90 + }
1.91 +
1.92 + if (0 == js.getFetchedCount()) {
1.93 + throw new InterruptedException();
1.94 + }
1.95 +
1.96 + assert js.getFetchedCount() == 1 : "Loaded";
1.97 +
1.98 + assert js.getFetchedSex().size() == 3 : "Three values " + js.getFetchedSex();
1.99 + assert js.getFetchedSex().get(0) == Sex.FEMALE : "Female first " + js.getFetchedSex();
1.100 + assert js.getFetchedSex().get(1) == Sex.MALE : "male 2nd " + js.getFetchedSex();
1.101 + assert js.getFetchedSex().get(2) == Sex.MALE : "male 3rd " + js.getFetchedSex();
1.102 + }
1.103 +
1.104 @Http(@Http.Resource(
1.105 content = "[{'firstName': 'Gitar', 'sex': 'FEMALE'},"
1.106 + "{'firstName': 'Peter', 'sex': 'MALE'}"
1.107 @@ -315,7 +346,7 @@
1.108 assert js.getFetchedCount() == 2 : "We got two values: " + js.getFetchedCount();
1.109 assert p != null : "We should get our person back: " + p;
1.110 assert "Gitar".equals(p.getFirstName()) : "Expecting Gitar: " + p.getFirstName();
1.111 -// assert Sex.MALE.equals(p.getSex()) : "Expecting MALE: " + p.getSex();
1.112 + assert Sex.FEMALE.equals(p.getSex()) : "Expecting FEMALE: " + p.getSex();
1.113 }
1.114
1.115 @Factory public static Object[] create() {