ParentNode-querySelectors-exclusive.html (1737B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>querySelector/querySelectorAll should not include their thisArg</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <!-- Regression test for https://github.com/jsdom/jsdom/issues/2296 --> 7 8 <script> 9 "use strict"; 10 11 setup({ single_test: true }); 12 13 const button = document.createElement("button"); 14 15 assert_equals(button.querySelector("*"), null, "querySelector, '*', before modification"); 16 assert_equals(button.querySelector("button"), null, "querySelector, 'button', before modification"); 17 assert_equals(button.querySelector("button, span"), null, "querySelector, 'button, span', before modification"); 18 assert_array_equals(button.querySelectorAll("*"), [], "querySelectorAll, '*', before modification"); 19 assert_array_equals(button.querySelectorAll("button"), [], "querySelectorAll, 'button', before modification"); 20 assert_array_equals( 21 button.querySelectorAll("button, span"), [], 22 "querySelectorAll, 'button, span', before modification" 23 ); 24 25 26 button.innerHTML = "text"; 27 28 assert_equals(button.querySelector("*"), null, "querySelector, '*', after modification"); 29 assert_equals(button.querySelector("button"), null, "querySelector, 'button', after modification"); 30 assert_equals(button.querySelector("button, span"), null, "querySelector, 'button, span', after modification"); 31 assert_array_equals(button.querySelectorAll("*"), [], "querySelectorAll, '*', after modification"); 32 assert_array_equals(button.querySelectorAll("button"), [], "querySelectorAll, 'button', after modification"); 33 assert_array_equals( 34 button.querySelectorAll("button, span"), [], 35 "querySelectorAll, 'button, span', after modification" 36 ); 37 38 done(); 39 </script>