aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/systemjs/test/test-csp-inline.html
blob: 4f6dce16e3114674212834ecc08872c14178bd64 (plain)
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
<!doctype html>
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="../bower_components/qunit/qunit/qunit.css"/>
    <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'nonce-abc';">
  </head>
  <body>

    <h1 id="qunit-header">SystemJS Test Suite</h1>

    <h2 id="qunit-banner"></h2>
    <div id="qunit-testrunner-toolbar"></div>
    <h2 id="qunit-userAgent"></h2>
    <ol id="qunit-tests"></ol>
    <div id="qunit-test-area"></div>

    <script src="../dist/system.src.js" type="text/javascript"></script>
    <script src="../bower_components/qunit/qunit/qunit.js"></script>

    <script nonce='abc'>
      QUnit.config.testTimeout = 2000;

      QUnit.module("SystemJS nonce");

      function err(e) {
        setTimeout(function() {
          throw e.stack || e;
          start();
        });
      }

      asyncTest('Importing a script with a good nonce', function() {
        System.config({
          meta: {
            'tests/csp/nonce.js': {
              nonce: 'abc'
            }
          }
        });
        System['import']('tests/csp/nonce.js').then(function(m) {
          ok(m.nonce === 'abc');
          start();
        });
      });

      asyncTest('Importing a script with a bad nonce', function() {
        System.config({
          meta: {
            'tests/csp/nonce2.js': {
              nonce: 'asdf'
            }
          }
        });
        System['import']('tests/csp/nonce2.js').then(function(m) {
          ok(m.nonce !== 'ab');
          start();
        });
      });
    </script>
  </body>
</html>