Node.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. describe("Node", () => {
  2. loadLocalPage("/res/html/misc/innertext_textcontent.html");
  3. afterInitialPageLoad(page => {
  4. test("Node.textContent", () => {
  5. var p = page.document.getElementsByTagName("p")[0];
  6. expect(p.textContent).toBe("This is a very small test page :^)");
  7. expect(p.firstChild.textContent).toBe("This is a ");
  8. expect(p.firstChild.firstChild).toBe(null);
  9. p.firstChild.textContent = "foo";
  10. expect(p.firstChild.textContent).toBe("foo");
  11. expect(p.firstChild.firstChild).toBe(null);
  12. expect(p.textContent).toBe("foovery small test page :^)");
  13. p.textContent = "bar";
  14. expect(p.textContent).toBe("bar");
  15. expect(p.firstChild.textContent).toBe("bar");
  16. expect(p.firstChild.firstChild).toBe(null);
  17. var p = page.document.getElementById("source");
  18. expect(p.textContent).toBe(`
  19. #source { color: red; } #text { text-transform: uppercase; }
  20. Take a look athow this textis interpreted
  21. below.
  22. HIDDEN TEXT
  23. `);
  24. });
  25. test("Node.isConnected", () => {
  26. var element = page.document.createElement("p");
  27. expect(element.isConnected).toBeFalse();
  28. page.document.body.appendChild(element);
  29. expect(element.isConnected).toBeTrue();
  30. page.document.body.removeChild(element);
  31. expect(element.isConnected).toBeFalse();
  32. });
  33. test("Node.compareDocumentPosition()", () => {
  34. const head = page.document.head;
  35. const body = page.document.body;
  36. expect(head.compareDocumentPosition(head)).toBe(0);
  37. // FIXME: Can be uncommented once the IDL parser correctly implements nullable parameters.
  38. // expect(head.compareDocumentPosition(null) & Node.DOCUMENT_POSITION_DISCONNECTED | Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC).
  39. // toBe(Node.DOCUMENT_POSITION_DISCONNECTED | Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC);
  40. expect(head.compareDocumentPosition(body)).toBe(page.Node.DOCUMENT_POSITION_FOLLOWING);
  41. expect(body.compareDocumentPosition(head)).toBe(page.Node.DOCUMENT_POSITION_PRECEDING);
  42. const source = page.document.getElementById("source");
  43. expect(source.compareDocumentPosition(body)).toBe(
  44. page.Node.DOCUMENT_POSITION_CONTAINS | page.Node.DOCUMENT_POSITION_PRECEDING
  45. );
  46. expect(body.compareDocumentPosition(source)).toBe(
  47. page.Node.DOCUMENT_POSITION_CONTAINED_BY | page.Node.DOCUMENT_POSITION_FOLLOWING
  48. );
  49. expect(source.compareDocumentPosition(head)).toBe(
  50. page.Node.DOCUMENT_POSITION_PRECEDING
  51. );
  52. });
  53. });
  54. waitForPageToLoad();
  55. });