diff -r 43fba26ba0c0 -r cdaeea7becf2 ko/fx/src/test/java/org/apidesign/bck2brwsr/kofx/KnockoutFXTest.java --- a/ko/fx/src/test/java/org/apidesign/bck2brwsr/kofx/KnockoutFXTest.java Wed Jun 26 20:27:06 2013 +0200 +++ b/ko/fx/src/test/java/org/apidesign/bck2brwsr/kofx/KnockoutFXTest.java Mon Aug 26 08:56:37 2013 +0200 @@ -31,9 +31,11 @@ import org.apidesign.html.context.spi.Contexts; import org.apidesign.html.json.spi.Technology; import org.apidesign.html.json.spi.Transfer; +import org.apidesign.html.json.spi.WSTransfer; import org.apidesign.html.json.tck.KOTest; import org.apidesign.html.json.tck.KnockoutTCK; import org.apidesign.html.kofx.FXContext; +import org.apidesign.html.wstyrus.TyrusContext; import org.json.JSONException; import org.json.JSONObject; import org.openide.util.lookup.ServiceProvider; @@ -58,10 +60,19 @@ @Override public BrwsrCtx createContext() { FXContext fx = new FXContext(); - return Contexts.newBuilder(). + TyrusContext tc = new TyrusContext(); + Contexts.Builder b = Contexts.newBuilder(). register(Technology.class, fx, 10). - register(Transfer.class, fx, 10). - build(); + register(Transfer.class, fx, 10); + try { + Class.forName("java.util.function.Function"); + // prefer WebView's WebSockets on JDK8 + b.register(WSTransfer.class, fx, 10); + } catch (ClassNotFoundException ex) { + // ok, JDK7 needs tyrus + b.register(WSTransfer.class, tc, 20); + } + return b.build(); } @Override