Eliminating last usage of .children in KnockoutTest envjs
authorJaroslav Tulach <jtulach@netbeans.org>
Wed, 04 Jun 2014 12:29:00 +0200
branchenvjs
changeset 6841eed4a053f6d
parent 683 6313ecd3a90f
child 685 cc858a41a4bd
Eliminating last usage of .children in KnockoutTest
json-tck/src/main/java/net/java/html/json/tests/KnockoutTest.java
     1.1 --- a/json-tck/src/main/java/net/java/html/json/tests/KnockoutTest.java	Wed Jun 04 12:26:19 2014 +0200
     1.2 +++ b/json-tck/src/main/java/net/java/html/json/tests/KnockoutTest.java	Wed Jun 04 12:29:00 2014 +0200
     1.3 @@ -437,11 +437,18 @@
     1.4              s, id);
     1.5      }
     1.6      private static void triggerChildClick(String id, int pos) throws Exception {
     1.7 -        String s = "var id = arguments[0]; var pos = arguments[1];"
     1.8 -            + "var e = window.document.getElementById(id);\n "
     1.9 -            + "var ev = window.document.createEvent('MouseEvents');\n "
    1.10 -            + "ev.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n "
    1.11 -            + "e.children[pos].dispatchEvent(ev);\n ";
    1.12 +        String s = 
    1.13 +            "var id = arguments[0]; var pos = arguments[1];\n" +
    1.14 +            "var e = window.document.getElementById(id);\n " +
    1.15 +            "var ev = window.document.createEvent('MouseEvents');\n " +
    1.16 +            "ev.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n " +
    1.17 +            "var list = e.childNodes;\n" +
    1.18 +            "var cnt = -1;\n" + 
    1.19 +            "for (var i = 0; i < list.length; i++) {\n" + 
    1.20 +            "  if (list[i].nodeType == 1) cnt++;\n" + 
    1.21 +            "  if (cnt === pos) return list[i].dispatchEvent(ev);\n" + 
    1.22 +            "}\n" + 
    1.23 +            "return null;\n";
    1.24          Utils.executeScript(
    1.25              KnockoutTest.class,
    1.26              s, id, pos);