javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/KnockoutTest.java
branchmodel
changeset 767 2b1cf4f012f2
parent 763 ecd7294f1e17
child 879 af170d42b5b3
     1.1 --- a/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/KnockoutTest.java	Mon Feb 18 19:42:02 2013 +0100
     1.2 +++ b/javaquery/api/src/test/java/org/apidesign/bck2brwsr/htmlpage/KnockoutTest.java	Tue Feb 19 15:54:36 2013 +0100
     1.3 @@ -17,6 +17,7 @@
     1.4   */
     1.5  package org.apidesign.bck2brwsr.htmlpage;
     1.6  
     1.7 +import java.util.List;
     1.8  import org.apidesign.bck2brwsr.core.JavaScriptBody;
     1.9  import org.apidesign.bck2brwsr.htmlpage.api.ComputedProperty;
    1.10  import org.apidesign.bck2brwsr.htmlpage.api.OnEvent;
    1.11 @@ -71,11 +72,35 @@
    1.12          assert cnt == 2 : "Two children now, but was " + cnt;
    1.13      }
    1.14      
    1.15 +    @HtmlFragment(
    1.16 +        "<ul id='ul' data-bind='foreach: cmpResults'>\n"
    1.17 +        + "  <li><b data-bind='text: $data'></b></li>\n"
    1.18 +        + "</ul>\n"
    1.19 +    )
    1.20 +    @BrwsrTest public void displayContentOfDerivedArray() {
    1.21 +        KnockoutModel m = new KnockoutModel();
    1.22 +        m.getResults().add("Ahoj");
    1.23 +        m.applyBindings();
    1.24 +        
    1.25 +        int cnt = countChildren("ul");
    1.26 +        assert cnt == 1 : "One child, but was " + cnt;
    1.27 +        
    1.28 +        m.getResults().add("hello");
    1.29 +
    1.30 +        cnt = countChildren("ul");
    1.31 +        assert cnt == 2 : "Two children now, but was " + cnt;
    1.32 +    }
    1.33 +    
    1.34      @ComputedProperty
    1.35      static String helloMessage(String name) {
    1.36          return "Hello " + name + "!";
    1.37      }
    1.38      
    1.39 +    @ComputedProperty
    1.40 +    static List<String> cmpResults(List<String> results) {
    1.41 +        return results;
    1.42 +    }
    1.43 +    
    1.44      @Factory
    1.45      public static Object[] create() {
    1.46          return VMTest.create(KnockoutTest.class);