json-tck/src/main/java/net/java/html/js/tests/GCBodyTest.java
branchweakfx
changeset 915 15af7ebf1d0e
parent 909 4abb0f37d33e
child 934 bbbdf003a99b
     1.1 --- a/json-tck/src/main/java/net/java/html/js/tests/GCBodyTest.java	Wed Dec 17 16:24:00 2014 +0100
     1.2 +++ b/json-tck/src/main/java/net/java/html/js/tests/GCBodyTest.java	Thu Dec 18 03:25:54 2014 +0100
     1.3 @@ -89,6 +89,20 @@
     1.4          assert obj != null : "Object is still present";
     1.5      }
     1.6  
     1.7 +    @KOTest public void strongReceiverBehavior() {
     1.8 +        Object v = new EmptyInstance();
     1.9 +        Receiver r = new Receiver(v);
    1.10 +        r.apply();
    1.11 +        assert v == r.value : "Value is as expected";
    1.12 +    }
    1.13 +    
    1.14 +    @KOTest public void gcReceiverBehavior() throws InterruptedException {
    1.15 +        Receiver r = new Receiver(new EmptyInstance());
    1.16 +        assertGC(r.ref, "The empty instance can be GCed even when referenced from JS");
    1.17 +        r.apply();
    1.18 +        assert r.value == null : "Setter called with null value";
    1.19 +    }
    1.20 +
    1.21      private static Reference<?> sendRunnable(final int[] arr) {
    1.22          Runnable r = new Runnable() {
    1.23              @Override