javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/JSONTest.java
branchmodel
changeset 963 62d77cc38117
parent 960 4887e22cb810
child 1009 80c46ea076d3
child 1012 b22c86471837
     1.1 --- a/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/JSONTest.java	Tue Apr 09 10:06:19 2013 +0200
     1.2 +++ b/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/JSONTest.java	Wed Apr 10 11:43:46 2013 +0200
     1.3 @@ -17,7 +17,9 @@
     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 org.apidesign.bck2brwsr.core.JavaScriptBody;
    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 @@ -42,6 +44,7 @@
    1.14  })
    1.15  public class JSONTest {
    1.16      private JSONik js;
    1.17 +    private Integer orig;
    1.18      
    1.19      @Test public void personToString() throws JSONException {
    1.20          Person p = new Person();
    1.21 @@ -183,7 +186,11 @@
    1.22          parameters = { "callme" }
    1.23      ))
    1.24      @BrwsrTest public void loadAndParseJSONP() throws InterruptedException {
    1.25 +        
    1.26          if (js == null) {
    1.27 +            orig = scriptElements();
    1.28 +            assert orig > 0 : "There should be some scripts on the page";
    1.29 +            
    1.30              js = new JSONik();
    1.31              js.applyBindings();
    1.32  
    1.33 @@ -197,7 +204,14 @@
    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 +        
    1.38 +        int now = scriptElements();
    1.39 +        
    1.40 +        assert orig == now : "The set of elements is unchanged. Delta: " + (now - orig);
    1.41      }
    1.42 +    
    1.43 +    @JavaScriptBody(args = {  }, body = "return window.document.getElementsByTagName('script').length;")
    1.44 +    private static native int scriptElements();
    1.45  
    1.46      @Http(@Http.Resource(
    1.47          content = "{'firstName': 'Sitar', 'sex': 'MALE'}",