| <!doctype html> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <div style="display:none"> |
| <span class="ok" id="first"></span> |
| <t1></t1> |
| |
| <span class="ok" id="second"></span> |
| <t2></t2> |
| |
| <span class="ok" id="third"></span> |
| <t3><t4></t4></t3> |
| |
| <span class="ok" id="fourth"> |
| <t6> |
| </t6> |
| <t7></t7> |
| <t7></t7> |
| <t7> |
| <t7></t7> |
| </t7> |
| </span> |
| </div> |
| </body> |
| <script> |
| description('Test filtering the root nodes by leveraging #id inside selectors with adjacents.'); |
| |
| [ |
| 'span$', |
| '.ok$', |
| '$.ok', |
| 'span$.ok', |
| 'span.ok$' |
| ].forEach(function (selector) { |
| shouldBe('document.querySelectorAll("' + selector.replace('$', '#first') + ' + t1").length', '1'); |
| shouldBe('document.querySelectorAll("' + selector.replace('$', '#second') + ' ~ t2").length', '1'); |
| shouldBe('document.querySelectorAll("' + selector.replace('$', '#third') + ' + t3 > t4").length', '1'); |
| shouldBe('document.querySelectorAll("' + selector.replace('$', '#third') + ' + t3 > t5").length', '0'); |
| shouldBe('document.querySelectorAll("' + selector.replace('$', '#fourth') + ' t6 ~ t7").length', '3'); |
| }); |
| |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </html> |