1
0
Fork 0
why-cant-we-deploy-today/test/test-iframe-backgrounds.html

134 lines
3.8 KiB
HTML
Raw Permalink 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 Iframe Backgrounds</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 data-background-iframe="https://revealjs.com">1</section>
<section data-background-iframe="https://revealjs.com">2</section>
<section data-background-iframe="https://revealjs.com" data-preload>
3
</section>
<section data-background-iframe="https://revealjs.com">4</section>
<section data-background-iframe="https://revealjs.com">5</section>
<section data-background-iframe="https://revealjs.com">6</section>
</div>
</div>
<script src="../dist/reveal.js"></script>
<script>
QUnit.config.testTimeout = 30000;
Reveal.initialize({ viewDistance: 3 }).then(() => {
function getIframe(index) {
return document
.querySelectorAll(".slide-background")
[index].querySelector("iframe");
}
QUnit.module("Iframe");
QUnit.test("Using default settings", function (assert) {
Reveal.slide(0);
assert.strictEqual(
getIframe(1).hasAttribute("src"),
false,
"not preloaded when within viewDistance"
);
Reveal.slide(1);
assert.strictEqual(
getIframe(1).hasAttribute("src"),
true,
"loaded when slide becomes visible"
);
Reveal.slide(0);
assert.strictEqual(
getIframe(1).hasAttribute("src"),
false,
"unloaded when slide becomes invisible"
);
});
QUnit.test("Using data-preload", function (assert) {
Reveal.slide(1);
assert.strictEqual(
getIframe(2).hasAttribute("src"),
true,
"preloaded within viewDistance"
);
assert.strictEqual(
getIframe(1).hasAttribute("src"),
true,
"loaded when slide becomes visible"
);
Reveal.slide(0);
assert.strictEqual(
getIframe(3).hasAttribute("src"),
false,
"unloads outside of viewDistance"
);
});
QUnit.test("Using preloadIframes: true", function (assert) {
Reveal.configure({ preloadIframes: true });
Reveal.slide(1);
assert.strictEqual(
getIframe(0).hasAttribute("src"),
true,
"preloaded within viewDistance"
);
assert.strictEqual(
getIframe(1).hasAttribute("src"),
true,
"preloaded within viewDistance"
);
assert.strictEqual(
getIframe(2).hasAttribute("src"),
true,
"preloaded within viewDistance"
);
});
QUnit.test("Using preloadIframes: false", function (assert) {
Reveal.configure({ preloadIframes: false });
Reveal.slide(0);
assert.strictEqual(
getIframe(1).hasAttribute("src"),
false,
"not preloaded within viewDistance"
);
assert.strictEqual(
getIframe(2).hasAttribute("src"),
false,
"not preloaded within viewDistance"
);
Reveal.slide(1);
assert.strictEqual(
getIframe(1).hasAttribute("src"),
true,
"loaded when slide becomes visible"
);
});
});
</script>
</body>
</html>