document.readyState.js 993 B

12345678910111213141516171819202122232425262728293031
  1. loadPage("file:///res/html/misc/blank.html");
  2. beforeInitialPageLoad(() => {
  3. window.events = [];
  4. document.addEventListener("readystatechange", () => {
  5. window.events.push(document.readyState);
  6. });
  7. document.addEventListener("DOMContentLoaded", () => {
  8. test("Ready state should be 'interactive' when 'DOMContentLoaded' fires", () => {
  9. expect(document.readyState).toBe("interactive");
  10. });
  11. });
  12. test("Ready state should be 'loading' initially", () => {
  13. expect(document.readyState).toBe("loading");
  14. });
  15. });
  16. afterInitialPageLoad(() => {
  17. test("'interactive' should come before 'complete' and both should have happened", () => {
  18. expect(window.events).toHaveLength(2);
  19. expect(window.events[0]).toBe("interactive");
  20. expect(window.events[1]).toBe("complete");
  21. });
  22. test("Ready state should be 'complete' after loading", () => {
  23. expect(document.readyState).toBe("complete");
  24. });
  25. });