1
0
Fork 0
why-cant-we-deploy-today/test/test-dependencies-async.html

92 lines
2.4 KiB
HTML
Raw Normal View History

2023-05-23 19:50:14 +02:00
<!DOCTYPE html>
<html lang="en">
2023-05-23 19:50:14 +02:00
<head>
<meta charset="utf-8" />
<title>reveal.js - Test Async Dependencies</title>
<link rel="stylesheet" href="../dist/reveal.css" />
<link rel="stylesheet" href="../node_modules/qunit/qunit/qunit.css" />
<script src="../node_modules/qunit/qunit/qunit.js"></script>
</head>
<body style="overflow: auto">
<div id="qunit"></div>
<div id="qunit-fixture"></div>
<div class="reveal" style="display: none">
<div class="slides">
<section>Slide content</section>
</div>
</div>
<script src="../dist/reveal.js"></script>
<script>
var externalScriptSequence = "";
var scriptCount = 0;
QUnit.config.testTimeout = 30000;
QUnit.config.autostart = false;
QUnit.module("Async Dependencies");
QUnit.test("Async scripts are loaded", function (assert) {
assert.expect(5);
var done = assert.async(5);
function callback(event) {
if (externalScriptSequence.length === 1) {
assert.ok(
externalScriptSequence === "A",
"first callback was sync script"
);
done();
} else {
assert.ok(true, "async script loaded");
done();
}
if (externalScriptSequence.length === 4) {
assert.ok(
externalScriptSequence.indexOf("A") !== -1 &&
externalScriptSequence.indexOf("B") !== -1 &&
externalScriptSequence.indexOf("C") !== -1 &&
externalScriptSequence.indexOf("D") !== -1,
"four unique scripts were loaded"
);
done();
}
scriptCount++;
}
Reveal.initialize({
dependencies: [
{
src: "assets/external-script-a.js",
async: false,
callback: callback,
},
{
src: "assets/external-script-b.js",
async: true,
callback: callback,
},
{
src: "assets/external-script-c.js",
async: true,
callback: callback,
},
{
src: "assets/external-script-d.js",
async: true,
callback: callback,
},
],
});
});
QUnit.start();
</script>
</body>
</html>