105 lines
2.8 KiB
HTML
105 lines
2.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
|
|
<title>reveal.js - Test Iframes</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="deck1">
|
|
<div class="reveal" style="display: none">
|
|
<div class="slides">
|
|
<section>1.1</section>
|
|
<section data-state="deck1slide2">1.2</section>
|
|
<section>1.3</section>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="deck2">
|
|
<div class="reveal" style="display: none">
|
|
<div class="slides">
|
|
<section>2.1</section>
|
|
<section>2.2</section>
|
|
<section>2.3</section>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="module">
|
|
import Reveal from "../dist/reveal.esm.js";
|
|
import Zoom from "../plugin/zoom/zoom.esm.js";
|
|
|
|
QUnit.config.testTimeout = 30000;
|
|
QUnit.module("Multiple reveal.js instances");
|
|
|
|
let r1 = new Reveal(document.querySelector(".deck1 .reveal"), {
|
|
embedded: true,
|
|
keyboard: true,
|
|
plugins: [Zoom],
|
|
});
|
|
r1.initialize();
|
|
|
|
let r2 = new Reveal(document.querySelector(".deck2 .reveal"), {
|
|
embedded: true,
|
|
keyboard: false,
|
|
});
|
|
r2.initialize();
|
|
|
|
QUnit.test("Can make independent changes", function (assert) {
|
|
r1.slide(1);
|
|
r2.slide(2);
|
|
assert.strictEqual(r1.getCurrentSlide().textContent, "1.2");
|
|
assert.strictEqual(r2.getCurrentSlide().textContent, "2.3");
|
|
|
|
r2.toggleOverview(true);
|
|
assert.strictEqual(r1.isOverview(), false);
|
|
assert.strictEqual(r2.isOverview(), true);
|
|
r2.toggleOverview(false);
|
|
|
|
assert.strictEqual(r1.getConfig().keyboard, true);
|
|
assert.strictEqual(r2.getConfig().keyboard, false);
|
|
});
|
|
|
|
QUnit.test("Can register plugins independently", function (assert) {
|
|
assert.ok(r1.hasPlugin("zoom"));
|
|
assert.notOk(r2.hasPlugin("zoom"));
|
|
});
|
|
|
|
QUnit.test("Slide state is set at the viewport level", function (assert) {
|
|
r1.slide(1);
|
|
|
|
assert.ok(
|
|
r1
|
|
.getViewportElement()
|
|
.classList.contains(r1.getCurrentSlide().getAttribute("data-state"))
|
|
);
|
|
|
|
r1.slide(2);
|
|
|
|
assert.ok(
|
|
!r1
|
|
.getViewportElement()
|
|
.classList.contains(
|
|
r1.getCurrentSlide().getAttribute("data-state")
|
|
),
|
|
"unset"
|
|
);
|
|
});
|
|
</script>
|
|
<script>
|
|
QUnit.test("Reveal does not leak to window", function (assert) {
|
|
assert.strictEqual(window.Reveal, undefined);
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|