mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: attempts to make load-script more reliable (#7816)
We don't check on script anymore, but we still check on window.ace making very unlikely to regress.
This commit is contained in:
@@ -5,20 +5,18 @@ QUnit.module("lib:load-script");
|
|||||||
QUnit.test(
|
QUnit.test(
|
||||||
"load with a script tag, and callbacks are only executed after script is loaded",
|
"load with a script tag, and callbacks are only executed after script is loaded",
|
||||||
async assert => {
|
async assert => {
|
||||||
|
assert.ok(
|
||||||
|
typeof window.ace === "undefined",
|
||||||
|
"ensures ace is not previously loaded"
|
||||||
|
);
|
||||||
|
|
||||||
const src = "/javascripts/ace/ace.js";
|
const src = "/javascripts/ace/ace.js";
|
||||||
|
|
||||||
await loadScript(src).then(() => {
|
await loadScript(src).then(() => {
|
||||||
assert.ok(
|
assert.ok(
|
||||||
typeof ace !== "undefined",
|
typeof window.ace !== "undefined",
|
||||||
"callbacks should only be executed after the script has fully loaded"
|
"callbacks should only be executed after the script has fully loaded"
|
||||||
);
|
);
|
||||||
|
|
||||||
// cannot use the `find` test helper here because the script tag is injected outside of the test sandbox frame
|
|
||||||
const scriptTags = Array.from(document.getElementsByTagName("script"));
|
|
||||||
assert.ok(
|
|
||||||
scriptTags.some(scriptTag => scriptTag.src.includes(src)),
|
|
||||||
"the script should be loaded with a script tag"
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user