tree: 7de79222f918d212a055313311bf1c1728d97351 [path history] [tgz]
  1. resources/
  2. anchor-download-intercept-reject.html
  3. anchor-download-intercept.html
  4. anchor-download.html
  5. back-cross-document-event-order.html
  6. back-same-document-intercept-reject.html
  7. back-same-document-intercept.html
  8. back-same-document.html
  9. currententrychange-before-popstate-intercept.html
  10. currententrychange-dispose-ordering.html
  11. intercept-async.html
  12. location-href-canceled.html
  13. location-href-double-intercept.html
  14. location-href-intercept-reentrant.html
  15. location-href-intercept-reject.html
  16. location-href-intercept.html
  17. navigate-204-205-download-then-same-document.html
  18. navigate-canceled.html
  19. navigate-cross-document-double.html
  20. navigate-cross-document-event-order.html
  21. navigate-double-intercept.html
  22. navigate-in-transition-finished.html
  23. navigate-intercept-precommitHandler-redirect.html
  24. navigate-intercept-precommitHandler-reject.tentative.html
  25. navigate-intercept-precommitHandler.html
  26. navigate-intercept-stop.html
  27. navigate-intercept.html
  28. navigate-same-document-intercept-reentrant.html
  29. navigate-same-document-intercept-reject.html
  30. navigate-same-document.html
  31. README.md
  32. reload-canceled.html
  33. reload-intercept-reject.html
  34. reload-intercept.html
  35. reload-no-popstate.html
  36. transition-cross-document.html
  37. transition-finished-mark-as-handled.html
  38. transition-realms-and-identity.html
navigation-api/ordering-and-transition/README.md

Navigation API ordering/transition tests

These are meant to test the ordering between various events and promises, as well as in some cases how the navigation.transition values changes.

Some of them use the Recorder framework in resources/helpers.mjs, and others test tricky cases (e.g. reentrancy) in a more ad-hoc way.

https://github.com/WICG/navigation-api/#complete-event-sequence is a useful reference for the intent of these tests.

Note:

  • Variants specifically exist for currententrychange because an event listener existing for currententrychange causes code to run, and thus microtasks to run, at a very specific point in the navigation-commit lifecycle. We want to test that it doesn't impact the ordering.
  • Similarly we test that intercept() does not change the ordering compared to no intercept() call, for same-document navigations, by trying to ensure most variants have appropriate intercept() counterparts with similar orderings.

TODOs: