| <!DOCTYPE html> |
| <html> |
| <meta charset="utf-8"> |
| <title>Node.prototype.getElementsByClassName tests imported from jsdom</title> |
| <link rel=help href="https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <div class="df-article" id="1"> |
| </div> |
| <div class="df-article" id="2"> |
| </div> |
| <div class="df-article" id="3"> |
| </div> |
| |
| <script> |
| "use strict"; |
| |
| test(() => { |
| |
| const p = document.createElement("p"); |
| p.className = "unknown"; |
| document.body.appendChild(p); |
| |
| const elements = document.getElementsByClassName("first-p"); |
| assert_array_equals(elements, []); |
| |
| }, "cannot find the class name"); |
| |
| test(() => { |
| |
| const p = document.createElement("p"); |
| p.className = "first-p"; |
| document.body.appendChild(p); |
| |
| const elements = document.getElementsByClassName("first-p"); |
| assert_array_equals(elements, [p]); |
| |
| }, "finds the class name"); |
| |
| |
| test(() => { |
| |
| const p = document.createElement("p"); |
| p.className = "the-p second third"; |
| document.body.appendChild(p); |
| |
| const elements1 = document.getElementsByClassName("the-p"); |
| assert_array_equals(elements1, [p]); |
| |
| const elements2 = document.getElementsByClassName("second"); |
| assert_array_equals(elements2, [p]); |
| |
| const elements3 = document.getElementsByClassName("third"); |
| assert_array_equals(elements3, [p]); |
| |
| }, "finds the same element with multiple class names"); |
| |
| test(() => { |
| |
| const elements = document.getElementsByClassName("df-article"); |
| |
| assert_equals(elements.length, 3); |
| assert_array_equals(Array.prototype.map.call(elements, el => el.id), ["1", "2", "3"]); |
| |
| }, "does not get confused by numeric IDs"); |
| |
| </script> |