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 }