Tests for passing null and Java objects to JavaScript and back preprocess
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Sun, 01 Dec 2013 22:15:30 +0100
branchpreprocess
changeset 3423d7656b6f28e
parent 341 9b8d362f13f1
child 343 d5614400f482
Tests for passing null and Java objects to JavaScript and back
json-tck/src/main/java/net/java/html/js/tests/Bodies.java
json-tck/src/main/java/net/java/html/js/tests/JavaScriptBodyTest.java
     1.1 --- a/json-tck/src/main/java/net/java/html/js/tests/Bodies.java	Sun Dec 01 05:11:32 2013 +0100
     1.2 +++ b/json-tck/src/main/java/net/java/html/js/tests/Bodies.java	Sun Dec 01 22:15:30 2013 +0100
     1.3 @@ -34,6 +34,9 @@
     1.4      @JavaScriptBody(args = {"r"}, javacall = true, body = "r.@java.lang.Runnable::run()();")
     1.5      static native void callback(Runnable r);
     1.6      
     1.7 +    @JavaScriptBody(args = { "v" }, body = "return v;")
     1.8 +    public static native Object id(Object v);
     1.9 +    
    1.10      @JavaScriptBody(args = { "v" }, body = "return { 'x' : v };")
    1.11      public static native Object instance(int v);
    1.12  
     2.1 --- a/json-tck/src/main/java/net/java/html/js/tests/JavaScriptBodyTest.java	Sun Dec 01 05:11:32 2013 +0100
     2.2 +++ b/json-tck/src/main/java/net/java/html/js/tests/JavaScriptBodyTest.java	Sun Dec 01 22:15:30 2013 +0100
     2.3 @@ -43,6 +43,18 @@
     2.4          Bodies.callback(run);
     2.5          assert run.cnt == 1 : "Can call even private implementation classes: " + run.cnt;
     2.6      }
     2.7 +    
     2.8 +    @KOTest public void identity() {
     2.9 +        Object p = new Object();
    2.10 +        Object r = Bodies.id(p);
    2.11 +        assert r == p : "The object is the same";
    2.12 +    }
    2.13 +
    2.14 +    @KOTest public void nullIsNull() {
    2.15 +        Object p = null;
    2.16 +        Object r = Bodies.id(p);
    2.17 +        assert r == p : "The null is the same";
    2.18 +    }
    2.19  
    2.20      private static class R implements Runnable {
    2.21          int cnt;