1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.html;
16
17 import org.htmlunit.SimpleWebTestCase;
18 import org.htmlunit.junit.BrowserRunner;
19 import org.junit.Assert;
20 import org.junit.Test;
21 import org.junit.runner.RunWith;
22 import org.w3c.dom.traversal.NodeFilter;
23 import org.w3c.dom.traversal.NodeIterator;
24
25
26
27
28
29
30
31 @RunWith(BrowserRunner.class)
32 public final class DomNodeIterator2Test extends SimpleWebTestCase {
33
34
35
36
37
38 @Test
39 public void subroot() throws Exception {
40 final String html = DOCTYPE_HTML
41 + "<html>\n"
42 + "<head>\n"
43 + "</head>\n"
44 + "<body>\n"
45 + "<table>\n"
46 + " <tr id='1'>\n"
47 + " <td id='11'>11</td>\n"
48 + " <td id='12'>12</td>\n"
49 + " </tr>\n"
50 + " <tr id='2'>\n"
51 + " <td id='21'>21</td>\n"
52 + " <td id='22'>22</td>\n"
53 + " </tr>\n"
54 + "</table>\n"
55 + "</body></html>";
56
57 final HtmlPage page = loadPage(html);
58
59 final HtmlElement subroot = (HtmlElement) page.getElementById("1");
60 final NodeIterator iterator = page.createNodeIterator(subroot, NodeFilter.SHOW_ELEMENT, null, true);
61
62 HtmlElement element = (HtmlElement) iterator.nextNode();
63 Assert.assertEquals("1", element.getId());
64
65 element = (HtmlElement) iterator.nextNode();
66 Assert.assertEquals("11", element.getId());
67
68 element = (HtmlElement) iterator.nextNode();
69 Assert.assertEquals("12", element.getId());
70
71 Assert.assertNull(iterator.nextNode());
72 }
73 }