ladybird/Libraries/LibWeb/Tests/test-common.js
Luke 08221139a5 test-web: Add ability to change page mid-test
This allows you to not have to write a separate test file
for the same thing but in a different situation.

This doesn't handle when you change the page with location.href
however.

Changes the name of the page load handlers to prevent confusion
with this.
2020-07-25 12:35:15 +02:00

32 lines
1.2 KiB
JavaScript

// NOTE: The tester loads in LibJS's test-common to prevent duplication.
// NOTE: "window.libweb_tester" is set to a special tester object.
// The object currently provides the following functions:
// - changePage(url) - change page to given URL. Everything afterwards will refer to the new page.
let __PageToLoad__;
// This tells the tester which page to load.
// This will only be checked when we look at which page the test wants to use.
// Subsequent calls to loadPage in before/after initial load will be ignored.
let loadPage;
let __BeforeInitialPageLoad__ = () => {};
// This function will be called just before loading the initial page.
// This is useful for injecting event listeners.
// Defaults to an empty function.
let beforeInitialPageLoad;
let __AfterInitialPageLoad__ = () => {};
// This function will be called just after loading the initial page.
// This is where the main bulk of the tests should be.
// Defaults to an empty function.
let afterInitialPageLoad;
(() => {
loadPage = (page) => __PageToLoad__ = page;
beforeInitialPageLoad = (callback) => __BeforeInitialPageLoad__ = callback;
afterInitialPageLoad = (callback) => __AfterInitialPageLoad__ = callback;
})();