guff-compass 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +21 -0
  3. data/.gitignore +6 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +21 -0
  6. data/demo/bower_components/jquery/.bower.json +21 -0
  7. data/demo/bower_components/jquery/.editorconfig +43 -0
  8. data/demo/bower_components/jquery/.gitattributes +2 -0
  9. data/demo/bower_components/jquery/.gitignore +14 -0
  10. data/demo/bower_components/jquery/.gitmodules +6 -0
  11. data/demo/bower_components/jquery/.jshintrc +17 -0
  12. data/demo/bower_components/jquery/.mailmap +94 -0
  13. data/demo/bower_components/jquery/AUTHORS.txt +170 -0
  14. data/demo/bower_components/jquery/CONTRIBUTING.md +216 -0
  15. data/demo/bower_components/jquery/Gruntfile.js +594 -0
  16. data/demo/bower_components/jquery/MIT-LICENSE.txt +21 -0
  17. data/demo/bower_components/jquery/README.md +398 -0
  18. data/demo/bower_components/jquery/bower.json +11 -0
  19. data/demo/bower_components/jquery/build/release-notes.js +59 -0
  20. data/demo/bower_components/jquery/build/release.js +316 -0
  21. data/demo/bower_components/jquery/component.json +15 -0
  22. data/demo/bower_components/jquery/composer.json +35 -0
  23. data/demo/bower_components/jquery/jquery-migrate.js +511 -0
  24. data/demo/bower_components/jquery/jquery-migrate.min.js +3 -0
  25. data/demo/bower_components/jquery/jquery.js +9789 -0
  26. data/demo/bower_components/jquery/jquery.min.js +6 -0
  27. data/demo/bower_components/jquery/jquery.min.map +1 -0
  28. data/demo/bower_components/jquery/package.json +38 -0
  29. data/demo/bower_components/jquery/speed/benchmark.js +15 -0
  30. data/demo/bower_components/jquery/speed/benchmarker.css +65 -0
  31. data/demo/bower_components/jquery/speed/benchmarker.js +181 -0
  32. data/demo/bower_components/jquery/speed/closest.html +39 -0
  33. data/demo/bower_components/jquery/speed/css.html +82 -0
  34. data/demo/bower_components/jquery/speed/event.html +58 -0
  35. data/demo/bower_components/jquery/speed/filter.html +183 -0
  36. data/demo/bower_components/jquery/speed/find.html +179 -0
  37. data/demo/bower_components/jquery/speed/index.html +72 -0
  38. data/demo/bower_components/jquery/speed/jquery-basis.js +6238 -0
  39. data/demo/bower_components/jquery/speed/slice.vs.concat.html +47 -0
  40. data/demo/bower_components/jquery/src/.jshintrc +27 -0
  41. data/demo/bower_components/jquery/src/ajax.js +855 -0
  42. data/demo/bower_components/jquery/src/ajax/jsonp.js +80 -0
  43. data/demo/bower_components/jquery/src/ajax/script.js +86 -0
  44. data/demo/bower_components/jquery/src/ajax/xhr.js +207 -0
  45. data/demo/bower_components/jquery/src/attributes.js +659 -0
  46. data/demo/bower_components/jquery/src/callbacks.js +197 -0
  47. data/demo/bower_components/jquery/src/core.js +981 -0
  48. data/demo/bower_components/jquery/src/css.js +661 -0
  49. data/demo/bower_components/jquery/src/data.js +336 -0
  50. data/demo/bower_components/jquery/src/deferred.js +141 -0
  51. data/demo/bower_components/jquery/src/deprecated.js +11 -0
  52. data/demo/bower_components/jquery/src/dimensions.js +41 -0
  53. data/demo/bower_components/jquery/src/effects.js +732 -0
  54. data/demo/bower_components/jquery/src/event-alias.js +32 -0
  55. data/demo/bower_components/jquery/src/event.js +995 -0
  56. data/demo/bower_components/jquery/src/exports.js +21 -0
  57. data/demo/bower_components/jquery/src/intro.js +20 -0
  58. data/demo/bower_components/jquery/src/manipulation.js +744 -0
  59. data/demo/bower_components/jquery/src/offset.js +169 -0
  60. data/demo/bower_components/jquery/src/outro.js +2 -0
  61. data/demo/bower_components/jquery/src/queue.js +146 -0
  62. data/demo/bower_components/jquery/src/serialize.js +99 -0
  63. data/demo/bower_components/jquery/src/sizzle-jquery.js +7 -0
  64. data/demo/bower_components/jquery/src/support.js +246 -0
  65. data/demo/bower_components/jquery/src/traversing.js +283 -0
  66. data/demo/bower_components/jquery/src/wrap.js +66 -0
  67. data/demo/bower_components/jquery/test/.jshintignore +3 -0
  68. data/demo/bower_components/jquery/test/.jshintrc +60 -0
  69. data/demo/bower_components/jquery/test/data/1x1.jpg +0 -0
  70. data/demo/bower_components/jquery/test/data/ajax/unreleasedXHR.html +25 -0
  71. data/demo/bower_components/jquery/test/data/atom+xml.php +4 -0
  72. data/demo/bower_components/jquery/test/data/badcall.js +1 -0
  73. data/demo/bower_components/jquery/test/data/badjson.js +1 -0
  74. data/demo/bower_components/jquery/test/data/cleanScript.html +10 -0
  75. data/demo/bower_components/jquery/test/data/core/cc_on.html +22 -0
  76. data/demo/bower_components/jquery/test/data/dashboard.xml +11 -0
  77. data/demo/bower_components/jquery/test/data/dimensions/documentLarge.html +17 -0
  78. data/demo/bower_components/jquery/test/data/dimensions/documentSmall.html +21 -0
  79. data/demo/bower_components/jquery/test/data/echoData.php +1 -0
  80. data/demo/bower_components/jquery/test/data/echoQuery.php +1 -0
  81. data/demo/bower_components/jquery/test/data/errorWithJSON.php +6 -0
  82. data/demo/bower_components/jquery/test/data/errorWithText.php +5 -0
  83. data/demo/bower_components/jquery/test/data/etag.php +21 -0
  84. data/demo/bower_components/jquery/test/data/evalScript.php +1 -0
  85. data/demo/bower_components/jquery/test/data/event/focusElem.html +16 -0
  86. data/demo/bower_components/jquery/test/data/event/longLoadScript.php +4 -0
  87. data/demo/bower_components/jquery/test/data/event/promiseReady.html +17 -0
  88. data/demo/bower_components/jquery/test/data/event/syncReady.html +23 -0
  89. data/demo/bower_components/jquery/test/data/headers.php +18 -0
  90. data/demo/bower_components/jquery/test/data/if_modified_since.php +20 -0
  91. data/demo/bower_components/jquery/test/data/iframe.html +8 -0
  92. data/demo/bower_components/jquery/test/data/jquery-1.9.1.ajax_xhr.min.js +5 -0
  93. data/demo/bower_components/jquery/test/data/json.php +13 -0
  94. data/demo/bower_components/jquery/test/data/json_obj.js +1 -0
  95. data/demo/bower_components/jquery/test/data/jsonp.php +14 -0
  96. data/demo/bower_components/jquery/test/data/manipulation/iframe-denied.html +36 -0
  97. data/demo/bower_components/jquery/test/data/name.html +1 -0
  98. data/demo/bower_components/jquery/test/data/name.php +24 -0
  99. data/demo/bower_components/jquery/test/data/nocontent.php +5 -0
  100. data/demo/bower_components/jquery/test/data/offset/absolute.html +41 -0
  101. data/demo/bower_components/jquery/test/data/offset/body.html +26 -0
  102. data/demo/bower_components/jquery/test/data/offset/fixed.html +34 -0
  103. data/demo/bower_components/jquery/test/data/offset/relative.html +31 -0
  104. data/demo/bower_components/jquery/test/data/offset/scroll.html +39 -0
  105. data/demo/bower_components/jquery/test/data/offset/static.html +31 -0
  106. data/demo/bower_components/jquery/test/data/offset/table.html +43 -0
  107. data/demo/bower_components/jquery/test/data/params_html.php +12 -0
  108. data/demo/bower_components/jquery/test/data/readywaitasset.js +1 -0
  109. data/demo/bower_components/jquery/test/data/readywaitloader.js +25 -0
  110. data/demo/bower_components/jquery/test/data/script.php +11 -0
  111. data/demo/bower_components/jquery/test/data/selector/html5_selector.html +114 -0
  112. data/demo/bower_components/jquery/test/data/selector/sizzle_cache.html +21 -0
  113. data/demo/bower_components/jquery/test/data/statusText.php +5 -0
  114. data/demo/bower_components/jquery/test/data/support/bodyBackground.html +28 -0
  115. data/demo/bower_components/jquery/test/data/support/boxSizing.html +19 -0
  116. data/demo/bower_components/jquery/test/data/support/csp.js +3 -0
  117. data/demo/bower_components/jquery/test/data/support/csp.php +22 -0
  118. data/demo/bower_components/jquery/test/data/support/shrinkWrapBlocks.html +23 -0
  119. data/demo/bower_components/jquery/test/data/support/testElementCrash.html +17 -0
  120. data/demo/bower_components/jquery/test/data/test.html +7 -0
  121. data/demo/bower_components/jquery/test/data/test.js +3 -0
  122. data/demo/bower_components/jquery/test/data/test.php +7 -0
  123. data/demo/bower_components/jquery/test/data/test2.html +5 -0
  124. data/demo/bower_components/jquery/test/data/test3.html +3 -0
  125. data/demo/bower_components/jquery/test/data/testinit.js +264 -0
  126. data/demo/bower_components/jquery/test/data/testrunner.js +371 -0
  127. data/demo/bower_components/jquery/test/data/testsuite.css +155 -0
  128. data/demo/bower_components/jquery/test/data/text.php +12 -0
  129. data/demo/bower_components/jquery/test/data/ua.txt +272 -0
  130. data/demo/bower_components/jquery/test/data/with_fries.xml +25 -0
  131. data/demo/bower_components/jquery/test/data/with_fries_over_jsonp.php +7 -0
  132. data/demo/bower_components/jquery/test/delegatetest.html +228 -0
  133. data/demo/bower_components/jquery/test/hovertest.html +158 -0
  134. data/demo/bower_components/jquery/test/index.html +337 -0
  135. data/demo/bower_components/jquery/test/jquery.js +5 -0
  136. data/demo/bower_components/jquery/test/localfile.html +75 -0
  137. data/demo/bower_components/jquery/test/networkerror.html +84 -0
  138. data/demo/bower_components/jquery/test/readywait.html +70 -0
  139. data/demo/bower_components/jquery/test/unit/ajax.js +2016 -0
  140. data/demo/bower_components/jquery/test/unit/attributes.js +1388 -0
  141. data/demo/bower_components/jquery/test/unit/callbacks.js +342 -0
  142. data/demo/bower_components/jquery/test/unit/core.js +1360 -0
  143. data/demo/bower_components/jquery/test/unit/css.js +1056 -0
  144. data/demo/bower_components/jquery/test/unit/data.js +645 -0
  145. data/demo/bower_components/jquery/test/unit/deferred.js +436 -0
  146. data/demo/bower_components/jquery/test/unit/deprecated.js +8 -0
  147. data/demo/bower_components/jquery/test/unit/dimensions.js +472 -0
  148. data/demo/bower_components/jquery/test/unit/effects.js +2242 -0
  149. data/demo/bower_components/jquery/test/unit/event.js +2755 -0
  150. data/demo/bower_components/jquery/test/unit/exports.js +7 -0
  151. data/demo/bower_components/jquery/test/unit/manipulation.js +2120 -0
  152. data/demo/bower_components/jquery/test/unit/offset.js +559 -0
  153. data/demo/bower_components/jquery/test/unit/queue.js +314 -0
  154. data/demo/bower_components/jquery/test/unit/selector.js +172 -0
  155. data/demo/bower_components/jquery/test/unit/serialize.js +148 -0
  156. data/demo/bower_components/jquery/test/unit/support.js +370 -0
  157. data/demo/bower_components/jquery/test/unit/traversing.js +797 -0
  158. data/demo/bower_components/jquery/test/unit/wrap.js +265 -0
  159. data/demo/bower_components/jquery/test/xhtml.php +5 -0
  160. data/demo/index.html +347 -0
  161. data/demo/styles/main.css +208 -0
  162. data/demo/styles/main.scss +138 -0
  163. data/docs/docco.css +506 -0
  164. data/docs/guff.html +1127 -0
  165. data/docs/public/fonts/aller-bold.eot +0 -0
  166. data/docs/public/fonts/aller-bold.ttf +0 -0
  167. data/docs/public/fonts/aller-bold.woff +0 -0
  168. data/docs/public/fonts/aller-light.eot +0 -0
  169. data/docs/public/fonts/aller-light.ttf +0 -0
  170. data/docs/public/fonts/aller-light.woff +0 -0
  171. data/docs/public/fonts/novecento-bold.eot +0 -0
  172. data/docs/public/fonts/novecento-bold.ttf +0 -0
  173. data/docs/public/fonts/novecento-bold.woff +0 -0
  174. data/docs/public/stylesheets/normalize.css +375 -0
  175. data/guff.gemspec +16 -0
  176. data/guff.scss +514 -0
  177. data/gulpfile.js +67 -0
  178. data/lib/guff.rb +4 -0
  179. data/lib/stylesheets/_guff.scss +514 -0
  180. data/package.json +19 -0
  181. data/src/_functions.scss +57 -0
  182. data/src/_mixins.scss +301 -0
  183. data/src/_reset.scss +67 -0
  184. data/src/_settings.scss +22 -0
  185. data/src/_typography.scss +67 -0
  186. metadata +259 -0
@@ -0,0 +1,7 @@
1
+ <?php
2
+ error_reporting(0);
3
+ $callback = $_REQUEST['callback'];
4
+ $json = $_REQUEST['json'];
5
+ $text = json_encode(file_get_contents(dirname(__FILE__)."/with_fries.xml"));
6
+ echo "$callback($text)";
7
+ ?>
@@ -0,0 +1,228 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Event Delegation Tests</title>
5
+ <script src="jquery.js"></script>
6
+ <style>
7
+ table {
8
+ border-collapse: collapse;
9
+ empty-cells: show;
10
+ }
11
+ th {
12
+ text-align: left;
13
+ }
14
+ thead td {
15
+ width: 11%;
16
+ }
17
+ tbody td {
18
+ background: #fed;
19
+ }
20
+ th, td {
21
+ border: 1px solid #bbb;
22
+ }
23
+ </style>
24
+ </head>
25
+ <body>
26
+ <h2>Delegate Tests (<span id="fileversion">x</span>)</h2>
27
+
28
+ <table id="changes">
29
+ <thead>
30
+ <tr>
31
+ <th>
32
+ Controls:
33
+ </th>
34
+ <td id="select-one">
35
+ <select>
36
+ <option value='one1'>one1</option>
37
+ <option value='one2'>one2</option>
38
+ <option value='one3'>one3</option>
39
+ </select>
40
+ <select>
41
+ <option value='two1'>two1</option>
42
+ <option value='two2' selected="selected">two2</option>
43
+ <option value='two3'>two3</option>
44
+ </select>
45
+ </td>
46
+ <td id="select-mult">
47
+ <select multiple="multiple">
48
+ <option value='multi1'>multi1</option>
49
+ <option value='multi2'>multi2</option>
50
+ <option value='multi3'>multi3</option>
51
+ </select>
52
+ </td>
53
+ <td id="checkbox">
54
+ <input type="checkbox" name="mycheckbox" id="check1"/>
55
+ <label for="check1">check1</label><br/>
56
+ <input type="checkbox" name="mycheckbox" id="check2"/>
57
+ <label for="check2">check2</label><br />
58
+ <input type="checkbox" name="mycheckbox" id="check3" disabled="disabled"/>
59
+ <label for="check3">check3</label>
60
+ </td>
61
+ <td id="radio">
62
+ <input type="radio" name="myradio" id="radio1"/>
63
+ <label for="radio1">Radio1</label><br/>
64
+ <input type="radio" name="myradio" id="radio2"/>
65
+ <label for="radio2">Radio2</label><br />
66
+ <input type="radio" name="myradio" id="radio3" disabled="disabled"/>
67
+ <label for="radio3">Radio3</label>
68
+ </td>
69
+ <td id="file">
70
+ <input class="file_test" id="file1" type="file"/>
71
+ </td>
72
+ <td id="text">
73
+ <input class='test' value='' id='input' size='10' />
74
+ <input class='test' value='test' id='input2' size='10' readonly="readonly" />
75
+ </td>
76
+ <td id="textarea">
77
+ <textarea rows='2'></textarea>
78
+ </td>
79
+ <td id="button">
80
+ <button name="mybutton1" id="button1">Button</button><br />
81
+ <button name="mybutton2" id="button2"><span>Button w/ child</span></button><br />
82
+ <button name="mybutton3" id="button3" disabled="disabled">Button Disabled</button><br />
83
+ <button name="mybutton4" id="button4" disabled="disabled"><span disabled="disabled">Button, child Disabled</span></button><br />
84
+ </td>
85
+ </tr>
86
+ </thead>
87
+ <tbody>
88
+ </tbody>
89
+ </table>
90
+ <p>NOTE: Only IE supports propertychange, beforeactivate, beforedeactivate; buttons do not support change events.</p>
91
+
92
+ <h2>Submit Tests</h2>
93
+ <table>
94
+ <tr>
95
+ <td>
96
+ Submit each:
97
+ </td>
98
+ <td>
99
+ <form action="" id="text_submit">
100
+ <input class='test' type='text' value='Key Return To Submit'/>
101
+ </form>
102
+ </td>
103
+ <td>
104
+ <form action="" id="password_submit">
105
+ <input class='test' type='password' value=''/>
106
+ </form>
107
+ </td>
108
+ <td>
109
+ <form action="" id="submit_submit">
110
+ <input type='submit' value="Click Me To Submit" />
111
+ </form>
112
+ </td>
113
+ <td>$(document).bind('submit')</td>
114
+ </tr>
115
+ <tr>
116
+ <td>Results:</td>
117
+ <td id='textSubmit' class="red">TEXT</td>
118
+ <td id='passwordSubmit' class="red">PASSWORD</td>
119
+ <td id='submitSubmit' class="red">BUTTON</td>
120
+ <td id='boundSubmit' class="red">DOCUMENT</td>
121
+ </tr>
122
+ </table>
123
+
124
+ <form id="autosub"><input type=submit name=subme /></form>
125
+
126
+ <script type='text/javascript'>
127
+
128
+ $("#fileversion").text($.fn.jquery);
129
+
130
+ // Try an auto-submit, it should only fire once
131
+ $(function(){
132
+ var triggered = false;
133
+ $("#autosub input").trigger("keypress");
134
+ $("body").on("submit", "#autosub", function( e ){
135
+ e.preventDefault();
136
+ e.stopPropagation();
137
+ if ( triggered ) {
138
+ alert("autosubmit FAIL");
139
+ }
140
+ triggered = true;
141
+ });
142
+ $("#autosub").submit().remove();
143
+ });
144
+
145
+ // Events we want to track in row-order
146
+ var events = "bind-change live-change onX-change bind-propertychange live-beforeactivate live-focusin bind-focus live-beforedeactivate live-focusout bind-blur live-click live-keydown".split(" "),
147
+ counter = 0;
148
+ blinker = function(event){
149
+ if ( !counter ) {
150
+ $("#changes tbody td").text("");
151
+ }
152
+ var $el = event.data,
153
+ prev = $el.text();
154
+ prev = prev? prev +" | " : "";
155
+ return $el
156
+ .text(prev + ++counter+" " + (this.value.replace(/^on$/,"") || this.id || this.checked || ""))
157
+ .css("backgroundColor","#0f0")
158
+ .delay(800)
159
+ .queue(function(next){
160
+ $el.css("backgroundColor","#afa");
161
+ --counter;
162
+ next();
163
+ });
164
+ };
165
+
166
+ for ( var i=0; i < events.length; i++ ) {
167
+ var m = events[i].split("-"),
168
+ api = m[0],
169
+ type = m[1],
170
+ $row = $("<tr><th>"+type+" "+api+"</th></tr>");
171
+
172
+ $("#changes thead td").each(function(){
173
+ var id = "#"+this.id,
174
+ $cell = $('<td></td>');
175
+ if ( api == "onX" ) {
176
+ $(this).find("input, button, select, textarea").each(function(){
177
+ this["on"+type] = function(e){ e = $.event.fix(e||event); e.data = $cell; blinker.call(this, e); };
178
+ });
179
+ } else if ( api == "bind" ) {
180
+ $(this).find("input, button, select, textarea").bind(type, $cell, blinker);
181
+ } else {
182
+ $(id+" input,"+id+" button,"+id+" select,"+id+" textarea").live(type, $cell, blinker);
183
+ }
184
+ $row.append($cell);
185
+ });
186
+ $("#changes tbody").append($row);
187
+ }
188
+
189
+ // Ensure that cloned elements get the delegated event magic; this is
190
+ // implementation-specific knowledge but otherwise impossible to test.
191
+ // The beforeactivate event attaches a direct-bound change event.
192
+ // (Only care about the live change for this third select element.)
193
+ var sel1 = $("#select-one select:first-child");
194
+ if ( typeof(sel1[0].fireEvent) !== "undefined" ) {
195
+ sel1.trigger( "beforeactivate" ).clone().appendTo("#select-one");
196
+ //alert($("#select-one select").map(function(){ return this._change_attached || "undef"; }).get().join("|"));
197
+ }
198
+
199
+ jQuery.fn.blink = function(){
200
+ return this
201
+ .css("backgroundColor","green")
202
+ .text( (parseInt(this.text(), 10) || 0) + 1 )
203
+ .delay(700).queue(function(next){
204
+ jQuery(this).css("backgroundColor","#afa");
205
+ next();
206
+ });
207
+ };
208
+
209
+ jQuery.fn.addSubmitTest = function( id, prevent ) {
210
+ return this.live("submit", function(e){
211
+ if ( prevent ) {
212
+ e.preventDefault();
213
+ }
214
+ jQuery(id).blink();
215
+ });
216
+ };
217
+
218
+ $("#text_submit").addSubmitTest("#textSubmit", true);
219
+ $("#password_submit").addSubmitTest("#passwordSubmit", true);
220
+ $("#submit_submit").addSubmitTest("#submitSubmit", true);
221
+ $("#prog_submit").addSubmitTest("#submitSubmit", true);
222
+ $(document).bind("submit", function(){
223
+ jQuery("#boundSubmit").blink();
224
+ });
225
+
226
+ </script>
227
+ </body>
228
+ </html>
@@ -0,0 +1,158 @@
1
+ <html>
2
+ <head>
3
+ <title>Hover tests</title>
4
+ <script src="jquery.js"></script>
5
+ <style>
6
+ /* Remove body dimensions so we can test enter/leave to surrounding browser chrome */
7
+ body, html {
8
+ border: 0;
9
+ margin: 0;
10
+ padding: 0;
11
+ }
12
+ p {
13
+ margin: 2px 0;
14
+ }
15
+ .hover-box {
16
+ background: #f33;
17
+ padding: 3px;
18
+ margin: 10px 40px 20px 0;
19
+ }
20
+ .hover-status {
21
+ background: #f66;
22
+ padding: 1px;
23
+ }
24
+ .hover-inside {
25
+ background: #6f6;
26
+ padding: 1px;
27
+ margin: 8px auto;
28
+ width: 40%;
29
+ text-align: center;
30
+ }
31
+ </style>
32
+ </head>
33
+ <body>
34
+ <h2>Hover (mouse{over,out,enter,leave}) Tests</h2>
35
+ <p>Be sure to try moving the mouse out of the browser via the left side on each test.</p>
36
+ <div id="wrapper">
37
+
38
+ <div id="hoverbox" class="hover-box">
39
+ <div class="hover-status">
40
+ <button>Activate</button>
41
+ .hover() in/out: <span class="ins">0</span> / <span class="outs">0</span>
42
+ </div>
43
+ <div class="hover-inside">
44
+ Mouse over here should NOT trigger the counter.
45
+ </div>
46
+ </div>
47
+ <div id="liveenterbox" class="hover-box">
48
+ <div class="hover-status">
49
+ <button>Activate</button>
50
+ Live enter/leave: <span class="ins">0</span> / <span class="outs">0</span>
51
+ </div>
52
+ <div class="hover-inside">
53
+ Mouse over here should NOT trigger the counter.
54
+ </div>
55
+ </div>
56
+ <div id="delegateenterbox" class="hover-box">
57
+ <div class="hover-status">
58
+ <button>Activate</button>
59
+ Delegated enter/leave: <span class="ins">0</span> / <span class="outs">0</span>
60
+ </div>
61
+ <div class="hover-inside">
62
+ Mouse over here should NOT trigger the counter.
63
+ </div>
64
+ </div>
65
+
66
+ <div id="overbox" class="hover-box">
67
+ <div class="hover-status">
68
+ <button>Activate</button>
69
+ Bind over/out: <span class="ins">0</span> / <span class="outs">0</span>
70
+ </div>
71
+ <div class="hover-inside">
72
+ Mouse over here SHOULD trigger the counter.
73
+ </div>
74
+ </div>
75
+ <div id="liveoverbox" class="hover-box">
76
+ <div class="hover-status">
77
+ <button>Activate</button>
78
+ Live over/out: <span class="ins">0</span> / <span class="outs">0</span>
79
+ </div>
80
+ <div class="hover-inside">
81
+ Mouse over here SHOULD trigger the counter.
82
+ </div>
83
+ </div>
84
+ <div id="delegateoverbox" class="hover-box">
85
+ <div class="hover-status">
86
+ <button>Activate</button>
87
+ Delegated over/out: <span class="ins">0</span> / <span class="outs">0</span>
88
+ </div>
89
+ <div class="hover-inside">
90
+ Mouse over here SHOULD trigger the counter.
91
+ </div>
92
+ </div>
93
+
94
+ </div> <!-- wrapper -->
95
+
96
+ <script>
97
+
98
+ $(function(){
99
+
100
+ var x,
101
+ countIns = function() {
102
+ var d = $(this).data();
103
+ $("span.ins", this).text(++d.ins);
104
+ },
105
+ countOuts = function() {
106
+ var d = $(this).data();
107
+ $("span.outs", this).text(++d.outs);
108
+ };
109
+
110
+ // Tests can be activated separately or in combination to check for interference
111
+
112
+ $("#hoverbox button").click(function(){
113
+ $("#hoverbox")
114
+ .data({ ins: 0, outs: 0 })
115
+ .hover( countIns, countOuts );
116
+ $(this).remove();
117
+ });
118
+ $("#delegateenterbox button").click(function(){
119
+ $("html")
120
+ .find("#delegateenterbox").data({ ins: 0, outs: 0 }).end()
121
+ .delegate("#delegateenterbox", "mouseenter", countIns )
122
+ .delegate("#delegateenterbox", "mouseleave", countOuts );
123
+ $(this).remove();
124
+ });
125
+ $("#liveenterbox button").click(function(){
126
+ $("#liveenterbox")
127
+ .data({ ins: 0, outs: 0 })
128
+ .live("mouseenter", countIns )
129
+ .live("mouseleave", countOuts );
130
+ $(this).remove();
131
+ });
132
+
133
+ $("#overbox button").click(function(){
134
+ $("#overbox")
135
+ .data({ ins: 0, outs: 0 })
136
+ .bind("mouseover", countIns )
137
+ .bind("mouseout", countOuts );
138
+ $(this).remove();
139
+ });
140
+ $("#liveoverbox button").click(function(){
141
+ $("#liveoverbox")
142
+ .data({ ins: 0, outs: 0 })
143
+ .live("mouseover", countIns )
144
+ .live("mouseout", countOuts );
145
+ $(this).remove();
146
+ });
147
+ $("#delegateoverbox button").click(function(){
148
+ $(document)
149
+ .find("#delegateoverbox").data({ ins: 0, outs: 0 }).end()
150
+ .delegate("#delegateoverbox", "mouseover", countIns )
151
+ .delegate("#delegateoverbox", "mouseout", countOuts );
152
+ $(this).remove();
153
+ });
154
+ });
155
+
156
+ </script>
157
+ </body>
158
+ </html>
@@ -0,0 +1,337 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr" id="html">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
6
+ <title>jQuery Test Suite</title>
7
+ <link rel="Stylesheet" media="screen" href="qunit/qunit/qunit.css" />
8
+ <link rel="Stylesheet" media="screen" href="data/testsuite.css" />
9
+ <!-- Includes -->
10
+
11
+ <!-- Allows us to fetch submodule tests when using a no-ajax build -->
12
+ <script src="data/jquery-1.9.1.ajax_xhr.min.js"></script>
13
+
14
+ <script src="data/testinit.js"></script>
15
+
16
+ <script src="qunit/qunit/qunit.js"></script>
17
+ <script>
18
+ (function() {
19
+ var src = "../dist/jquery.min.js";
20
+
21
+ // Config parameter to use minified jQuery
22
+ QUnit.config.urlConfig.push({
23
+ id: "dev",
24
+ label: "Load unminified",
25
+ tooltip: "Load the development (unminified) jQuery file"
26
+ });
27
+ if ( QUnit.urlParams.dev ) {
28
+ src = "../dist/jquery.js";
29
+ }
30
+
31
+ // Config parameter to force basic code paths
32
+ QUnit.config.urlConfig.push({
33
+ id: "basic",
34
+ label: "Bypass optimizations",
35
+ tooltip: "Force use of the most basic code by disabling native querySelectorAll; contains; compareDocumentPosition"
36
+ });
37
+ if ( QUnit.urlParams.basic ) {
38
+ document.querySelectorAll = null;
39
+ document.documentElement.contains = null;
40
+ document.documentElement.compareDocumentPosition = null;
41
+ }
42
+
43
+ // Load jQuery
44
+ document.write( "<script id='jquery-js' src='" + src + "'><\x2Fscript>" );
45
+ })();
46
+ </script>
47
+ <script src="data/testrunner.js"></script>
48
+
49
+ <script src="unit/core.js"></script>
50
+ <script src="unit/callbacks.js"></script>
51
+ <script src="unit/deferred.js"></script>
52
+ <script src="unit/support.js"></script>
53
+ <script src="unit/data.js"></script>
54
+ <script src="unit/queue.js"></script>
55
+ <script src="unit/attributes.js"></script>
56
+ <script src="unit/event.js"></script>
57
+ <script src="unit/selector.js"></script>
58
+ <script src="unit/traversing.js"></script>
59
+ <script src="unit/manipulation.js"></script>
60
+ <script src="unit/wrap.js"></script>
61
+ <script src="unit/css.js"></script>
62
+ <script src="unit/serialize.js"></script>
63
+ <script src="unit/ajax.js"></script>
64
+ <script src="unit/effects.js"></script>
65
+ <script src="unit/offset.js"></script>
66
+ <script src="unit/dimensions.js"></script>
67
+ <script src="unit/deprecated.js"></script>
68
+ <script src="unit/exports.js"></script>
69
+
70
+ <!-- Subproject tests must be last because they replace our test fixture -->
71
+ <script>
72
+ testSubproject( "Sizzle", "../src/sizzle/test/", /^unit\/.*\.js$/ );
73
+ </script>
74
+
75
+ <script>
76
+ // html5shiv, enabling HTML5 elements to be used with jQuery
77
+ ( "abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup " +
78
+ "mark meter nav output progress section summary time video"
79
+ ).replace(/\w+/g, function(n) {
80
+ document.createElement(n);
81
+ });
82
+ </script>
83
+ </head>
84
+
85
+ <body id="body">
86
+ <div id="qunit"></div>
87
+
88
+ <!-- Test HTML -->
89
+ <!-- this iframe is outside the #qunit-fixture so it won't reload constantly wasting time, but it means the tests must be "safe" and clean up after themselves -->
90
+ <iframe id="loadediframe" name="loadediframe" style="display:none;" src="data/iframe.html"></iframe>
91
+ <dl id="dl" style="position:absolute;top:-32767px;left:-32767px;width:1px;">
92
+ <div id="qunit-fixture">
93
+ <p id="firstp">See <a id="simon1" href="http://simon.incutio.com/archive/2003/03/25/#getElementsBySelector" rel="bookmark">this blog entry</a> for more information.</p>
94
+ <p id="ap">
95
+ Here are some links in a normal paragraph: <a id="google" href="http://www.google.com/" title="Google!">Google</a>,
96
+ <a id="groups" href="http://groups.google.com/" class="GROUPS">Google Groups (Link)</a>.
97
+ This link has <code><a href="http://smin" id="anchor1">class="blog"</a></code>:
98
+ <a href="http://diveintomark.org/" class="blog" hreflang="en" id="mark">diveintomark</a>
99
+
100
+ </p>
101
+ <div id="foo">
102
+ <p id="sndp">Everything inside the red border is inside a div with <code>id="foo"</code>.</p>
103
+ <p lang="en" id="en">This is a normal link: <a id="yahoo" href="http://www.yahoo.com/" class="blogTest">Yahoo</a></p>
104
+ <p id="sap">This link has <code><a href="#2" id="anchor2">class="blog"</a></code>: <a href="http://simon.incutio.com/" class="blog link" id="simon">Simon Willison's Weblog</a></p>
105
+
106
+ </div>
107
+ <div id="nothiddendiv" style="height:1px;background:white;" class="nothiddendiv">
108
+ <div id="nothiddendivchild"></div>
109
+ </div>
110
+ <span id="name+value"></span>
111
+ <p id="first">Try them out:</p>
112
+ <ul id="firstUL"></ul>
113
+ <ol id="empty"></ol>
114
+ <form id="form" action="formaction">
115
+ <label for="action" id="label-for">Action:</label>
116
+ <input type="text" name="action" value="Test" id="text1" maxlength="30"/>
117
+ <input type="text" name="text2" value="Test" id="text2" disabled="disabled"/>
118
+ <input type="radio" name="radio1" id="radio1" value="on"/>
119
+
120
+ <input type="radio" name="radio2" id="radio2" checked="checked"/>
121
+ <input type="checkbox" name="check" id="check1" checked="checked"/>
122
+ <input type="checkbox" id="check2" value="on"/>
123
+
124
+ <input type="hidden" name="hidden" id="hidden1"/>
125
+ <input type="text" style="display:none;" name="foo[bar]" id="hidden2"/>
126
+
127
+ <input type="text" id="name" name="name" value="name" />
128
+ <input type="search" id="search" name="search" value="search" />
129
+
130
+ <button id="button" name="button" type="button">Button</button>
131
+
132
+ <textarea id="area1" maxlength="30">foobar</textarea>
133
+
134
+ <select name="select1" id="select1">
135
+ <option id="option1a" class="emptyopt" value="">Nothing</option>
136
+ <option id="option1b" value="1">1</option>
137
+ <option id="option1c" value="2">2</option>
138
+ <option id="option1d" value="3">3</option>
139
+ </select>
140
+ <select name="select2" id="select2">
141
+ <option id="option2a" class="emptyopt" value="">Nothing</option>
142
+ <option id="option2b" value="1">1</option>
143
+ <option id="option2c" value="2">2</option>
144
+ <option id="option2d" selected="selected" value="3">3</option>
145
+ </select>
146
+ <select name="select3" id="select3" multiple="multiple">
147
+ <option id="option3a" class="emptyopt" value="">Nothing</option>
148
+ <option id="option3b" selected="selected" value="1">1</option>
149
+ <option id="option3c" selected="selected" value="2">2</option>
150
+ <option id="option3d" value="3">3</option>
151
+ <option id="option3e">no value</option>
152
+ </select>
153
+ <select name="select4" id="select4" multiple="multiple">
154
+ <optgroup disabled="disabled">
155
+ <option id="option4a" class="emptyopt" value="">Nothing</option>
156
+ <option id="option4b" disabled="disabled" selected="selected" value="1">1</option>
157
+ <option id="option4c" selected="selected" value="2">2</option>
158
+ </optgroup>
159
+ <option selected="selected" disabled="disabled" id="option4d" value="3">3</option>
160
+ <option id="option4e">no value</option>
161
+ </select>
162
+ <select name="select5" id="select5">
163
+ <option id="option5a" value="3">1</option>
164
+ <option id="option5b" value="2">2</option>
165
+ <option id="option5c" value="1" data-attr="">3</option>
166
+ </select>
167
+
168
+ <object id="object1" codebase="stupid">
169
+ <param name="p1" value="x1" />
170
+ <param name="p2" value="x2" />
171
+ </object>
172
+
173
+ <span id="台北Táiběi"></span>
174
+ <span id="台北" lang="中文"></span>
175
+ <span id="utf8class1" class="台北Táiběi 台北"></span>
176
+ <span id="utf8class2" class="台北"></span>
177
+ <span id="foo:bar" class="foo:bar"></span>
178
+ <span id="test.foo[5]bar" class="test.foo[5]bar"></span>
179
+
180
+ <foo_bar id="foobar">test element</foo_bar>
181
+ </form>
182
+ <b id="floatTest">Float test.</b>
183
+ <iframe id="iframe" name="iframe"></iframe>
184
+ <form id="lengthtest">
185
+ <input type="text" id="length" name="test"/>
186
+ <input type="text" id="idTest" name="id"/>
187
+ </form>
188
+ <table id="table"></table>
189
+
190
+ <form id="name-tests">
191
+ <!-- Inputs with a grouped name attribute. -->
192
+ <input name="types[]" id="types_all" type="checkbox" value="all" />
193
+ <input name="types[]" id="types_anime" type="checkbox" value="anime" />
194
+ <input name="types[]" id="types_movie" type="checkbox" value="movie" />
195
+ </form>
196
+
197
+ <form id="testForm" action="#" method="get">
198
+ <textarea name="T3" rows="2" cols="15">?
199
+ Z</textarea>
200
+ <input type="hidden" name="H1" value="x" />
201
+ <input type="hidden" name="H2" />
202
+ <input name="PWD" type="password" value="" />
203
+ <input name="T1" type="text" />
204
+ <input name="T2" type="text" value="YES" readonly="readonly" />
205
+ <input type="checkbox" name="C1" value="1" />
206
+ <input type="checkbox" name="C2" />
207
+ <input type="radio" name="R1" value="1" />
208
+ <input type="radio" name="R1" value="2" />
209
+ <input type="text" name="My Name" value="me" />
210
+ <input type="reset" name="reset" value="NO" />
211
+ <select name="S1">
212
+ <option value="abc">ABC</option>
213
+ <option value="abc">ABC</option>
214
+ <option value="abc">ABC</option>
215
+ </select>
216
+ <select name="S2" multiple="multiple" size="3">
217
+ <option value="abc">ABC</option>
218
+ <option value="abc">ABC</option>
219
+ <option value="abc">ABC</option>
220
+ </select>
221
+ <select name="S3">
222
+ <option selected="selected">YES</option>
223
+ </select>
224
+ <select name="S4">
225
+ <option value="" selected="selected">NO</option>
226
+ </select>
227
+ <input type="submit" name="sub1" value="NO" />
228
+ <input type="submit" name="sub2" value="NO" />
229
+ <input type="image" name="sub3" value="NO" />
230
+ <button name="sub4" type="submit" value="NO">NO</button>
231
+ <input name="D1" type="text" value="NO" disabled="disabled" />
232
+ <input type="checkbox" checked="checked" disabled="disabled" name="D2" value="NO" />
233
+ <input type="radio" name="D3" value="NO" checked="checked" disabled="disabled" />
234
+ <select name="D4" disabled="disabled">
235
+ <option selected="selected" value="NO">NO</option>
236
+ </select>
237
+ <input id="list-test" type="text" />
238
+ <datalist id="datalist">
239
+ <option value="option"></option>
240
+ </datalist>
241
+ </form>
242
+ <div id="moretests">
243
+ <form>
244
+ <div id="checkedtest" style="display:none;">
245
+ <input type="radio" name="checkedtestradios" checked="checked"/>
246
+ <input type="radio" name="checkedtestradios" value="on"/>
247
+ <input type="checkbox" name="checkedtestcheckboxes" checked="checked"/>
248
+ <input type="checkbox" name="checkedtestcheckboxes" />
249
+ </div>
250
+ </form>
251
+ <div id="nonnodes"><span id="nonnodesElement">hi</span> there <!-- mon ami --></div>
252
+ <div id="t2037">
253
+ <div><div class="hidden">hidden</div></div>
254
+ </div>
255
+ <div id="t6652">
256
+ <div></div>
257
+ </div>
258
+ <div id="no-clone-exception"><object><embed></embed></object></div>
259
+ </div>
260
+
261
+ <div id="tabindex-tests">
262
+ <ol id="listWithTabIndex" tabindex="5">
263
+ <li id="foodWithNegativeTabIndex" tabindex="-1">Rice</li>
264
+ <li id="foodNoTabIndex">Beans</li>
265
+ <li>Blinis</li>
266
+ <li>Tofu</li>
267
+ </ol>
268
+
269
+ <div id="divWithNoTabIndex">I'm hungry. I should...</div>
270
+ <span>...</span><a href="#" id="linkWithNoTabIndex">Eat lots of food</a><span>...</span> |
271
+ <span>...</span><a href="#" id="linkWithTabIndex" tabindex="2">Eat a little food</a><span>...</span> |
272
+ <span>...</span><a href="#" id="linkWithNegativeTabIndex" tabindex="-1">Eat no food</a><span>...</span>
273
+ <span>...</span><a id="linkWithNoHrefWithNoTabIndex">Eat a burger</a><span>...</span>
274
+ <span>...</span><a id="linkWithNoHrefWithTabIndex" tabindex="1">Eat some funyuns</a><span>...</span>
275
+ <span>...</span><a id="linkWithNoHrefWithNegativeTabIndex" tabindex="-1">Eat some funyuns</a><span>...</span>
276
+ <input id="inputWithoutTabIndex"/>
277
+ <button id="buttonWithoutTabIndex"></button>
278
+ <textarea id="textareaWithoutTabIndex"></textarea>
279
+ <menu type="popup">
280
+ <menuitem id="menuitemWithoutTabIndex" command="submitbutton" default/>
281
+ </menu>
282
+ </div>
283
+
284
+ <div id="liveHandlerOrder">
285
+ <span id="liveSpan1"><a href="#" id="liveLink1"></a></span>
286
+ <span id="liveSpan2"><a href="#" id="liveLink2"></a></span>
287
+ </div>
288
+
289
+ <div id="siblingTest">
290
+ <em id="siblingfirst">1</em>
291
+ <em id="siblingnext">2</em>
292
+ <em id="siblingthird">
293
+ <em id="siblingchild">
294
+ <em id="siblinggrandchild">
295
+ <em id="siblinggreatgrandchild"></em>
296
+ </em>
297
+ </em>
298
+ </em>
299
+ <span id="siblingspan"></span>
300
+ </div>
301
+ <div id="fx-test-group" style="position: absolute; width: 1px; height: 1px; overflow: hidden;">
302
+ <div id="fx-queue" name="test">
303
+ <div id="fadein" class='chain-test' name='div'>fadeIn<div>fadeIn</div></div>
304
+ <div id="fadeout" class='chain-test chain-test-out'>fadeOut<div>fadeOut</div></div>
305
+
306
+ <div id="show" class='chain-test'>show<div>show</div></div>
307
+ <div id="hide" class='chain-test chain-test-out'>hide<div>hide</div></div>
308
+ <div id="easehide" class='chain-test chain-test-out'>hide<div>hide</div></div>
309
+
310
+ <div id="togglein" class='chain-test'>togglein<div>togglein</div></div>
311
+ <div id="toggleout" class='chain-test chain-test-out'>toggleout<div>toggleout</div></div>
312
+ <div id="easetoggleout" class='chain-test chain-test-out'>toggleout<div>toggleout</div></div>
313
+
314
+ <div id="slideup" class='chain-test'>slideUp<div>slideUp</div></div>
315
+ <div id="slidedown" class='chain-test chain-test-out'>slideDown<div>slideDown</div></div>
316
+ <div id="easeslideup" class='chain-test'>slideUp<div>slideUp</div></div>
317
+
318
+ <div id="slidetogglein" class='chain-test'>slideToggleIn<div>slideToggleIn</div></div>
319
+ <div id="slidetoggleout" class='chain-test chain-test-out'>slideToggleOut<div>slideToggleOut</div></div>
320
+
321
+ <div id="fadetogglein" class='chain-test'>fadeToggleIn<div>fadeToggleIn</div></div>
322
+ <div id="fadetoggleout" class='chain-test chain-test-out'>fadeToggleOut<div>fadeToggleOut</div></div>
323
+
324
+ <div id="fadeto" class='chain-test'>fadeTo<div>fadeTo</div></div>
325
+ </div>
326
+
327
+ <div id="fx-tests"></div>
328
+ <span id="display"></span>
329
+ </div>
330
+ </div>
331
+ </dl>
332
+ <map name="imgmap" id="imgmap">
333
+ <area shape="rect" coords="0,0,200,50">
334
+ </map>
335
+
336
+ </body>
337
+ </html>