1.1 --- a/ko/fx/src/test/java/org/apidesign/bck2brwsr/kofx/KnockoutFXTest.java Thu Jan 09 15:57:28 2014 +0100
1.2 +++ b/ko/fx/src/test/java/org/apidesign/bck2brwsr/kofx/KnockoutFXTest.java Thu Jan 09 21:21:34 2014 +0100
1.3 @@ -64,30 +64,32 @@
1.4 TyrusContext tc = new TyrusContext();
1.5 Contexts.Builder b = Contexts.newBuilder().
1.6 register(Technology.class, ko.knockout(), 10).
1.7 - register(Transfer.class, ko.transferViaOrgJSON(), 10);
1.8 + register(Transfer.class, ko.transfer(), 10);
1.9 try {
1.10 Class.forName("java.util.function.Function");
1.11 // prefer WebView's WebSockets on JDK8
1.12 - b.register(WSTransfer.class, ko.websocketsViaBrowser(), 10);
1.13 + b.register(WSTransfer.class, ko.websockets(), 10);
1.14 } catch (ClassNotFoundException ex) {
1.15 // ok, JDK7 needs tyrus
1.16 b.register(WSTransfer.class, tc, 20);
1.17 + b.register(Transfer.class, tc, 5);
1.18 }
1.19 return b.build();
1.20 }
1.21
1.22 @Override
1.23 public Object createJSON(Map<String, Object> values) {
1.24 - JSONObject json = new JSONObject();
1.25 + Object json = createJSON();
1.26 for (Map.Entry<String, Object> entry : values.entrySet()) {
1.27 - try {
1.28 - json.put(entry.getKey(), entry.getValue());
1.29 - } catch (JSONException ex) {
1.30 - throw new IllegalStateException(ex);
1.31 - }
1.32 + setProperty(json, entry.getKey(), entry.getValue());
1.33 }
1.34 return json;
1.35 }
1.36 +
1.37 + @JavaScriptBody(args = {}, body = "return new Object();")
1.38 + private static native Object createJSON();
1.39 + @JavaScriptBody(args = { "json", "key", "value" }, body = "json[key] = value;")
1.40 + private static native void setProperty(Object json, String key, Object value);
1.41
1.42 @Override
1.43 @JavaScriptBody(args = { "s", "args" }, body = ""