index.html 3.87 KB
Newer Older
XhmikosR's avatar
XhmikosR committed
1
<!DOCTYPE html>
2
<html>
XhmikosR's avatar
XhmikosR committed
3
4
  <head>
    <meta charset="utf-8">
Bardi Harborow's avatar
Bardi Harborow committed
5
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
XhmikosR's avatar
XhmikosR committed
6
    <title>Bootstrap Plugin Test Suite</title>
7

XhmikosR's avatar
XhmikosR committed
8
    <!-- jQuery -->
Mark Otto's avatar
Mark Otto committed
9
10
    <script src="../../assets/js/vendor/jquery-slim.min.js"></script>
    <script src="../../assets/js/vendor/popper.min.js"></script>
11

XhmikosR's avatar
XhmikosR committed
12
13
14
    <!-- QUnit -->
    <link rel="stylesheet" href="vendor/qunit.css" media="screen">
    <script src="vendor/qunit.js"></script>
Bardi Harborow's avatar
Bardi Harborow committed
15

XhmikosR's avatar
XhmikosR committed
16
    <script>
Bardi Harborow's avatar
Bardi Harborow committed
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
      // Disable jQuery event aliases to ensure we don't accidentally use any of them
      [
        'blur',
        'focus',
        'focusin',
        'focusout',
        'resize',
        'scroll',
        'click',
        'dblclick',
        'mousedown',
        'mouseup',
        'mousemove',
        'mouseover',
        'mouseout',
        'mouseenter',
        'mouseleave',
        'change',
        'select',
        'submit',
        'keydown',
        'keypress',
        'keyup',
        'contextmenu'
      ].forEach(function(eventAlias) {
        $.fn[eventAlias] = function() {
          throw new Error('Using the ".' + eventAlias + '()" method is not allowed, so that Bootstrap can be compatible with custom jQuery builds which exclude the "event aliases" module that defines said method. See https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#js')
        }
      })

47
      // Require assert.expect in each test
48
      QUnit.config.requireExpects = true
Bardi Harborow's avatar
Bardi Harborow committed
49
50
51
52
53
54

      // See https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit
      var log = []
      var testName

      QUnit.done(function(testResults) {
55
        var tests = []
Bardi Harborow's avatar
Bardi Harborow committed
56
        for (var i = 0; i < log.length; i++) {
57
58
          var details = log[i]
          tests.push({
XhmikosR's avatar
XhmikosR committed
59
60
61
62
63
            name: details.name,
            result: details.result,
            expected: details.expected,
            actual: details.actual,
            source: details.source
64
65
66
          })
        }
        testResults.tests = tests
67

68
69
        window.global_test_results = testResults
      })
70

Bardi Harborow's avatar
Bardi Harborow committed
71
72
      QUnit.testStart(function(testDetails) {
        QUnit.log(function(details) {
XhmikosR's avatar
XhmikosR committed
73
74
75
76
          if (!details.result) {
            details.name = testDetails.name
            log.push(details)
          }
77
        })
XhmikosR's avatar
XhmikosR committed
78
      })
79
80
81
82
83

      // Cleanup
      QUnit.testDone(function () {
        $('#modal-test, .modal-backdrop').remove()
      })
84
85

      // Display fixture on-screen on iOS to avoid false positives
Bardi Harborow's avatar
Bardi Harborow committed
86
      // See https://github.com/twbs/bootstrap/pull/15955
87
88
89
90
91
      if (/iPhone|iPad|iPod/.test(navigator.userAgent)) {
        QUnit.begin(function() {
          $('#qunit-fixture').css({ top: 0, left: 0 })
        })

Bardi Harborow's avatar
Bardi Harborow committed
92
        QUnit.done(function() {
93
94
95
          $('#qunit-fixture').css({ top: '', left: '' })
        })
      }
XhmikosR's avatar
XhmikosR committed
96
    </script>
97

Bardi Harborow's avatar
Bardi Harborow committed
98
    <!-- Transpiled Plugins -->
Mark Otto's avatar
Mark Otto committed
99
100
101
102
103
104
105
106
107
108
109
    <script src="../dist/util.js"></script>
    <script src="../dist/alert.js"></script>
    <script src="../dist/button.js"></script>
    <script src="../dist/carousel.js"></script>
    <script src="../dist/collapse.js"></script>
    <script src="../dist/dropdown.js"></script>
    <script src="../dist/modal.js"></script>
    <script src="../dist/scrollspy.js"></script>
    <script src="../dist/tab.js"></script>
    <script src="../dist/tooltip.js"></script>
    <script src="../dist/popover.js"></script>
fat's avatar
fat committed
110

Bardi Harborow's avatar
Bardi Harborow committed
111
    <!-- Unit Tests -->
XhmikosR's avatar
XhmikosR committed
112
113
114
115
116
117
118
    <script src="unit/alert.js"></script>
    <script src="unit/button.js"></script>
    <script src="unit/carousel.js"></script>
    <script src="unit/collapse.js"></script>
    <script src="unit/dropdown.js"></script>
    <script src="unit/modal.js"></script>
    <script src="unit/scrollspy.js"></script>
fat's avatar
fat committed
119
    <script src="unit/tab.js"></script>
XhmikosR's avatar
XhmikosR committed
120
    <script src="unit/tooltip.js"></script>
fat's avatar
fat committed
121
    <script src="unit/popover.js"></script>
XhmikosR's avatar
XhmikosR committed
122
123
  </head>
  <body>
124
    <div id="qunit-container">
XhmikosR's avatar
XhmikosR committed
125
126
127
128
      <div id="qunit"></div>
      <div id="qunit-fixture"></div>
    </div>
  </body>
129
</html>