Sascha Schulz
2025-01-13 831c0b4c5384ef340b430d16266fd46fccf13191
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<!doctype html>
<html lang="en">
 
    <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>