getElementsByClassName-whitespace-class-names.html (2019B)
1 <!DOCTYPE html> 2 <html> 3 <meta charset="utf-8"> 4 <title>Node.prototype.getElementsByClassName with no real class names</title> 5 <link rel=help href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname"> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 9 <span class="">LINE TABULATION</span> 10 <span class="…">NEXT LINE</span> 11 <span class=" ">NO-BREAK SPACE</span> 12 <span class=" ">OGHAM SPACE MARK</span> 13 <span class=" ">EN QUAD</span> 14 <span class=" ">EM QUAD</span> 15 <span class=" ">EN SPACE</span> 16 <span class=" ">EM SPACE</span> 17 <span class=" ">THREE-PER-EM SPACE</span> 18 <span class=" ">FOUR-PER-EM SPACE</span> 19 <span class=" ">SIX-PER-EM SPACE</span> 20 <span class=" ">FIGURE SPACE</span> 21 <span class=" ">PUNCTUATION SPACE</span> 22 <span class=" ">THIN SPACE</span> 23 <span class=" ">HAIR SPACE</span> 24 <span class="
">LINE SEPARATOR</span> 25 <span class="
">PARAGRAPH SEPARATOR</span> 26 <span class=" ">NARROW NO-BREAK SPACE</span> 27 <span class=" ">MEDIUM MATHEMATICAL SPACE</span> 28 <span class=" ">IDEOGRAPHIC SPACE</span> 29 30 <span class="᠎">MONGOLIAN VOWEL SEPARATOR</span> 31 <span class="​">ZERO WIDTH SPACE</span> 32 <span class="‌">ZERO WIDTH NON-JOINER</span> 33 <span class="‍">ZERO WIDTH JOINER</span> 34 <span class="⁠">WORD JOINER</span> 35 <span class="">ZERO WIDTH NON-BREAKING SPACE</span> 36 37 <script> 38 "use strict"; 39 40 const spans = document.querySelectorAll("span"); 41 42 for (const span of spans) { 43 test(() => { 44 const className = span.getAttribute("class"); 45 assert_equals(className.length, 1, "Sanity check: the class name was retrieved and is a single character"); 46 const shouldBeSpan = document.getElementsByClassName(className); 47 assert_array_equals(shouldBeSpan, [span]); 48 }, `Passing a ${span.textContent} to getElementsByClassName still finds the span`); 49 } 50 </script>