javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/KnockoutTest.java
branchmodel
changeset 908 3e023bea2da4
parent 906 22358b42ec2a
child 909 e51a474fcf79
     1.1 --- a/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/KnockoutTest.java	Sun Mar 31 05:34:15 2013 +0200
     1.2 +++ b/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/KnockoutTest.java	Sun Mar 31 06:46:25 2013 +0200
     1.3 @@ -101,18 +101,24 @@
     1.4      
     1.5      @HtmlFragment(
     1.6          "<ul id='ul' data-bind='foreach: people'>\n"
     1.7 -        + "  <li data-bind='text: $data.firstName, click: $root.removePerson'></li>\n"
     1.8 +        + "  <li data-bind='text: $data.firstName(), click: $root.removePerson'></li>\n"
     1.9          + "</ul>\n"
    1.10      )
    1.11      @BrwsrTest public void displayContentOfArrayOfPeople() {
    1.12          KnockoutModel m = new KnockoutModel();
    1.13 -        m.getPeople().add(new Person());
    1.14 +        
    1.15 +        final Person first = new Person();
    1.16 +        first.setFirstName("first");
    1.17 +        m.getPeople().add(first);
    1.18 +        
    1.19          m.applyBindings();
    1.20          
    1.21          int cnt = countChildren("ul");
    1.22          assert cnt == 1 : "One child, but was " + cnt;
    1.23          
    1.24 -        m.getPeople().add(new Person());
    1.25 +        final Person second = new Person();
    1.26 +        second.setFirstName("second");
    1.27 +        m.getPeople().add(second);
    1.28  
    1.29          cnt = countChildren("ul");
    1.30          assert cnt == 2 : "Two children now, but was " + cnt;
    1.31 @@ -123,6 +129,9 @@
    1.32  
    1.33          cnt = countChildren("ul");
    1.34          assert cnt == 1 : "Again one child, but was " + cnt;
    1.35 +        
    1.36 +        String txt = childText("ul", 0);
    1.37 +        assert "first".equals(txt) : "Expecting 'first': " + txt;
    1.38      }
    1.39       
    1.40      @OnFunction
    1.41 @@ -167,4 +176,11 @@
    1.42          + "e.children[pos].dispatchEvent(ev);\n "
    1.43      )
    1.44      private static native void triggerChildClick(String id, int pos);
    1.45 +
    1.46 +    @JavaScriptBody(args = { "id", "pos" }, body = 
    1.47 +          "var e = window.document.getElementById(id);\n "
    1.48 +        + "var t = e.children[pos].innerHTML;\n "
    1.49 +        + "return t ? t : null;"
    1.50 +    )
    1.51 +    private static native String childText(String id, int pos);
    1.52  }