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

XhmikosR's avatar
XhmikosR committed
8
    <!-- jQuery -->
9
    <script src="vendor/jquery.min.js"></script>
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
    <script>
      // Disable jQuery event aliases to ensure we don't accidentally use any of them
      (function () {
        var eventAliases = [
          'blur',
          'focus',
          'focusin',
          'focusout',
          'load',
          'resize',
          'scroll',
          'unload',
          'click',
          'dblclick',
          'mousedown',
          'mouseup',
          'mousemove',
          'mouseover',
          'mouseout',
          'mouseenter',
          'mouseleave',
          'change',
          'select',
          'submit',
          'keydown',
          'keypress',
          'keyup',
          'error',
          'contextmenu',
          'hover',
          'bind',
          'unbind',
          'delegate',
          'undelegate'
        ]
        for (var i = 0; i < eventAliases.length; i++) {
          $.fn[eventAliases[i]] = undefined
        }
      })()
    </script>
50

XhmikosR's avatar
XhmikosR committed
51
52
53
54
55
56
    <!-- QUnit -->
    <link rel="stylesheet" href="vendor/qunit.css" media="screen">
    <script src="vendor/qunit.js"></script>
    <script>
      // See https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit
      var log = []
57
58
      // Require assert.expect in each test.
      QUnit.config.requireExpects = true
59
60
61
62
63
      QUnit.done(function (testResults) {
        var tests = []
        for (var i = 0, len = log.length; i < len; i++) {
          var details = log[i]
          tests.push({
XhmikosR's avatar
XhmikosR committed
64
65
66
67
68
            name: details.name,
            result: details.result,
            expected: details.expected,
            actual: details.actual,
            source: details.source
69
70
71
          })
        }
        testResults.tests = tests
72

73
74
        window.global_test_results = testResults
      })
75

XhmikosR's avatar
XhmikosR committed
76
      QUnit.testStart(function (testDetails) {
77
        $(window).scrollTop(0)
78
        QUnit.log(function (details) {
XhmikosR's avatar
XhmikosR committed
79
80
81
82
          if (!details.result) {
            details.name = testDetails.name
            log.push(details)
          }
83
        })
XhmikosR's avatar
XhmikosR committed
84
      })
85
86
87
88
89
90

      // Cleanup
      QUnit.testDone(function () {
        $('#qunit-fixture').empty()
        $('#modal-test, .modal-backdrop').remove()
      })
91
92
93
94
95
96
97
98
99
100
101

      // Display fixture on-screen on iOS to avoid false positives
      if (/iPhone|iPad|iPod/.test(navigator.userAgent)) {
        QUnit.begin(function() {
          $('#qunit-fixture').css({ top: 0, left: 0 })
        })

        QUnit.done(function () {
          $('#qunit-fixture').css({ top: '', left: '' })
        })
      }
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129

      // Disable deprecated global QUnit method aliases in preparation for QUnit v2
      (function () {
        var methodNames = [
          'async',
          'asyncTest',
          'deepEqual',
          'equal',
          'expect',
          'module',
          'notDeepEqual',
          'notEqual',
          'notPropEqual',
          'notStrictEqual',
          'ok',
          'propEqual',
          'push',
          'start',
          'stop',
          'strictEqual',
          'test',
          'throws'
        ];
        for (var i = 0; i < methodNames.length; i++) {
          var methodName = methodNames[i];
          window[methodName] = undefined;
        }
      })();
XhmikosR's avatar
XhmikosR committed
130
    </script>
131

XhmikosR's avatar
XhmikosR committed
132
133
134
135
136
137
138
139
140
141
142
143
144
    <!-- Plugin sources -->
    <script>$.support.transition = false</script>
    <script src="../../js/alert.js"></script>
    <script src="../../js/button.js"></script>
    <script src="../../js/carousel.js"></script>
    <script src="../../js/collapse.js"></script>
    <script src="../../js/dropdown.js"></script>
    <script src="../../js/modal.js"></script>
    <script src="../../js/scrollspy.js"></script>
    <script src="../../js/tab.js"></script>
    <script src="../../js/tooltip.js"></script>
    <script src="../../js/popover.js"></script>
    <script src="../../js/affix.js"></script>
145

XhmikosR's avatar
XhmikosR committed
146
147
148
149
150
151
152
153
154
155
156
157
    <!-- Unit tests -->
    <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>
    <script src="unit/tab.js"></script>
    <script src="unit/tooltip.js"></script>
    <script src="unit/popover.js"></script>
    <script src="unit/affix.js"></script>
158

XhmikosR's avatar
XhmikosR committed
159
160
  </head>
  <body>
161
    <div id="qunit-container">
XhmikosR's avatar
XhmikosR committed
162
163
164
165
      <div id="qunit"></div>
      <div id="qunit-fixture"></div>
    </div>
  </body>
166
</html>