@KOTest public void displayContentOfComputedArray() throws Exception { Object exp = Utils.exposeHTML(KnockoutTest.class, "<ul id='ul' data-bind='foreach: bothNames'>\n" + " <li data-bind='text: $data, click: $root.assignFirstName'/>\n" + "</ul>\n" ); try { Pair m = Models.bind(new Pair("First", "Last", null), newContext()); m.applyBindings(); int cnt = Utils.countChildren(KnockoutTest.class, "ul"); assertEquals(cnt, 2, "Two children now, but was " + cnt); triggerChildClick("ul", 1); assertEquals("Last", m.getFirstName(), "We got callback from 2nd child " + m.getFirstName()); m.setLastName("Verylast"); cnt = Utils.countChildren(KnockoutTest.class, "ul"); assertEquals(cnt, 2, "Two children now, but was " + cnt); triggerChildClick("ul", 1); assertEquals("Verylast", m.getFirstName(), "We got callback from 2nd child " + m.getFirstName()); } finally { Utils.exposeHTML(KnockoutTest.class, ""); } }