guff-compass 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,265 @@
1
+ (function() {
2
+
3
+ if ( !jQuery.fn.wrap ) { // no wrap module
4
+ return;
5
+ }
6
+
7
+ module( "wrap", {
8
+ teardown: moduleTeardown
9
+ });
10
+
11
+ // See test/unit/manipulation.js for explanation about these 2 functions
12
+ function manipulationBareObj( value ) {
13
+ return value;
14
+ }
15
+
16
+ function manipulationFunctionReturningObj( value ) {
17
+ return function() {
18
+ return value;
19
+ };
20
+ }
21
+
22
+ function testWrap( val ) {
23
+
24
+ expect( 19 );
25
+
26
+ var defaultText, result, j, i, cacheLength;
27
+
28
+ defaultText = "Try them out:";
29
+ result = jQuery("#first").wrap( val("<div class='red'><span></span></div>") ).text();
30
+
31
+ equal( defaultText, result, "Check for wrapping of on-the-fly html" );
32
+ ok( jQuery("#first").parent().parent().is(".red"), "Check if wrapper has class 'red'" );
33
+
34
+ QUnit.reset();
35
+ result = jQuery("#first").wrap( val(document.getElementById("empty")) ).parent();
36
+ ok( result.is("ol"), "Check for element wrapping" );
37
+ equal( result.text(), defaultText, "Check for element wrapping" );
38
+
39
+ QUnit.reset();
40
+ jQuery("#check1").on( "click", function() {
41
+ var checkbox = this;
42
+
43
+ ok( checkbox.checked, "Checkbox's state is erased after wrap() action, see #769" );
44
+ jQuery( checkbox ).wrap( val("<div id='c1' style='display:none;'></div>") );
45
+ ok( checkbox.checked, "Checkbox's state is erased after wrap() action, see #769" );
46
+ }).prop( "checked", false )[ 0 ].click();
47
+
48
+ // using contents will get comments regular, text, and comment nodes
49
+ j = jQuery("#nonnodes").contents();
50
+ j.wrap( val("<i></i>") );
51
+
52
+ // Blackberry 4.6 doesn't maintain comments in the DOM
53
+ equal( jQuery("#nonnodes > i").length, jQuery("#nonnodes")[ 0 ].childNodes.length, "Check node,textnode,comment wraps ok" );
54
+ equal( jQuery("#nonnodes > i").text(), j.text(), "Check node,textnode,comment wraps doesn't hurt text" );
55
+
56
+ // Try wrapping a disconnected node
57
+ cacheLength = 0;
58
+ for ( i in jQuery.cache ) {
59
+ cacheLength++;
60
+ }
61
+
62
+ j = jQuery("<label/>").wrap( val("<li/>") );
63
+ equal( j[ 0 ] .nodeName.toUpperCase(), "LABEL", "Element is a label" );
64
+ equal( j[ 0 ].parentNode.nodeName.toUpperCase(), "LI", "Element has been wrapped" );
65
+
66
+ for ( i in jQuery.cache ) {
67
+ cacheLength--;
68
+ }
69
+ equal( cacheLength, 0, "No memory leak in jQuery.cache (bug #7165)" );
70
+
71
+ // Wrap an element containing a text node
72
+ j = jQuery("<span/>").wrap("<div>test</div>");
73
+ equal( j[ 0 ].previousSibling.nodeType, 3, "Make sure the previous node is a text element" );
74
+ equal( j[ 0 ].parentNode.nodeName.toUpperCase(), "DIV", "And that we're in the div element." );
75
+
76
+ // Try to wrap an element with multiple elements (should fail)
77
+ j = jQuery("<div><span></span></div>").children().wrap("<p></p><div></div>");
78
+ equal( j[ 0 ].parentNode.parentNode.childNodes.length, 1, "There should only be one element wrapping." );
79
+ equal( j.length, 1, "There should only be one element (no cloning)." );
80
+ equal( j[ 0 ].parentNode.nodeName.toUpperCase(), "P", "The span should be in the paragraph." );
81
+
82
+ // Wrap an element with a jQuery set
83
+ j = jQuery("<span/>").wrap( jQuery("<div></div>") );
84
+ equal( j[ 0 ].parentNode.nodeName.toLowerCase(), "div", "Wrapping works." );
85
+
86
+ // Wrap an element with a jQuery set and event
87
+ result = jQuery("<div></div>").on( "click", function() {
88
+ ok( true, "Event triggered." );
89
+
90
+ // Remove handlers on detached elements
91
+ result.off();
92
+ jQuery(this).off();
93
+ });
94
+
95
+ j = jQuery("<span/>").wrap( result );
96
+ equal( j[ 0 ].parentNode.nodeName.toLowerCase(), "div", "Wrapping works." );
97
+
98
+ j.parent().trigger("click");
99
+
100
+ // clean up attached elements
101
+ QUnit.reset();
102
+ }
103
+
104
+ test( "wrap(String|Element)", function() {
105
+ testWrap( manipulationBareObj );
106
+ });
107
+
108
+ test( "wrap(Function)", function() {
109
+ testWrap( manipulationFunctionReturningObj );
110
+ });
111
+
112
+ test( "wrap(Function) with index (#10177)", function() {
113
+ var expectedIndex = 0,
114
+ targets = jQuery("#qunit-fixture p");
115
+
116
+ expect( targets.length );
117
+ targets.wrap(function(i) {
118
+ equal( i, expectedIndex, "Check if the provided index (" + i + ") is as expected (" + expectedIndex + ")" );
119
+ expectedIndex++;
120
+
121
+ return "<div id='wrap_index_'" + i + "'></div>";
122
+ });
123
+ });
124
+
125
+ test( "wrap(String) consecutive elements (#10177)", function() {
126
+ var targets = jQuery("#qunit-fixture p");
127
+
128
+ expect( targets.length * 2 );
129
+ targets.wrap("<div class='wrapper'></div>");
130
+
131
+ targets.each(function() {
132
+ var $this = jQuery(this);
133
+
134
+ ok( $this.parent().is(".wrapper"), "Check each elements parent is correct (.wrapper)" );
135
+ equal( $this.siblings().length, 0, "Each element should be wrapped individually" );
136
+ });
137
+ });
138
+
139
+ function testWrapAll( val ) {
140
+
141
+ expect( 8 );
142
+
143
+ var prev, p, result;
144
+
145
+ prev = jQuery("#firstp")[ 0 ].previousSibling;
146
+ p = jQuery("#firstp,#first")[ 0 ].parentNode;
147
+ result = jQuery("#firstp,#first").wrapAll( val("<div class='red'><div class='tmp'></div></div>") );
148
+
149
+ equal( result.parent().length, 1, "Check for wrapping of on-the-fly html" );
150
+ ok( jQuery("#first").parent().parent().is(".red"), "Check if wrapper has class 'red'" );
151
+ ok( jQuery("#firstp").parent().parent().is(".red"), "Check if wrapper has class 'red'" );
152
+ equal( jQuery("#first").parent().parent()[ 0 ].previousSibling, prev, "Correct Previous Sibling" );
153
+ equal( jQuery("#first").parent().parent()[ 0 ].parentNode, p, "Correct Parent" );
154
+
155
+ QUnit.reset();
156
+ prev = jQuery("#firstp")[ 0 ].previousSibling;
157
+ p = jQuery("#first")[ 0 ].parentNode;
158
+ jQuery("#firstp,#first").wrapAll( val(document.getElementById("empty")) );
159
+
160
+ equal( jQuery("#first").parent()[ 0 ], jQuery("#firstp").parent()[ 0 ], "Same Parent" );
161
+ equal( jQuery("#first").parent()[ 0 ].previousSibling, prev, "Correct Previous Sibling" );
162
+ equal( jQuery("#first").parent()[ 0 ].parentNode, p, "Correct Parent" );
163
+ }
164
+
165
+ test( "wrapAll(String|Element)", function() {
166
+ testWrapAll( manipulationBareObj );
167
+ });
168
+
169
+ function testWrapInner( val ) {
170
+
171
+ expect( 11 );
172
+
173
+ var num, div;
174
+
175
+ num = jQuery("#first").children().length;
176
+ jQuery("#first").wrapInner( val("<div class='red'><div id='tmp'></div></div>") );
177
+
178
+ equal( jQuery("#first").children().length, 1, "Only one child" );
179
+ ok( jQuery("#first").children().is(".red"), "Verify Right Element" );
180
+ equal( jQuery("#first").children().children().children().length, num, "Verify Elements Intact" );
181
+
182
+ QUnit.reset();
183
+ num = jQuery("#first").html("foo<div>test</div><div>test2</div>").children().length;
184
+ jQuery("#first").wrapInner( val("<div class='red'><div id='tmp'></div></div>") );
185
+ equal( jQuery("#first").children().length, 1, "Only one child" );
186
+ ok( jQuery("#first").children().is(".red"), "Verify Right Element" );
187
+ equal( jQuery("#first").children().children().children().length, num, "Verify Elements Intact" );
188
+
189
+ QUnit.reset();
190
+ num = jQuery("#first").children().length;
191
+ jQuery("#first").wrapInner( val(document.getElementById("empty")) );
192
+ equal( jQuery("#first").children().length, 1, "Only one child" );
193
+ ok( jQuery("#first").children().is("#empty"), "Verify Right Element" );
194
+ equal( jQuery("#first").children().children().length, num, "Verify Elements Intact" );
195
+
196
+ div = jQuery("<div/>");
197
+ div.wrapInner( val("<span></span>") );
198
+ equal( div.children().length, 1, "The contents were wrapped." );
199
+ equal( div.children()[ 0 ].nodeName.toLowerCase(), "span", "A span was inserted." );
200
+ }
201
+
202
+ test( "wrapInner(String|Element)", function() {
203
+ testWrapInner( manipulationBareObj );
204
+ });
205
+
206
+ test( "wrapInner(Function)", function() {
207
+ testWrapInner( manipulationFunctionReturningObj );
208
+ });
209
+
210
+ test( "unwrap()", function() {
211
+
212
+ expect( 9 );
213
+
214
+ jQuery("body").append(" <div id='unwrap' style='display: none;'> <div id='unwrap1'> <span class='unwrap'>a</span> <span class='unwrap'>b</span> </div> <div id='unwrap2'> <span class='unwrap'>c</span> <span class='unwrap'>d</span> </div> <div id='unwrap3'> <b><span class='unwrap unwrap3'>e</span></b> <b><span class='unwrap unwrap3'>f</span></b> </div> </div>");
215
+
216
+ var abcd = jQuery("#unwrap1 > span, #unwrap2 > span").get(),
217
+ abcdef = jQuery("#unwrap span").get();
218
+
219
+ equal( jQuery("#unwrap1 span").add("#unwrap2 span:first-child").unwrap().length, 3, "make #unwrap1 and #unwrap2 go away" );
220
+ deepEqual( jQuery("#unwrap > span").get(), abcd, "all four spans should still exist" );
221
+
222
+ deepEqual( jQuery("#unwrap3 span").unwrap().get(), jQuery("#unwrap3 > span").get(), "make all b in #unwrap3 go away" );
223
+
224
+ deepEqual( jQuery("#unwrap3 span").unwrap().get(), jQuery("#unwrap > span.unwrap3").get(), "make #unwrap3 go away" );
225
+
226
+ deepEqual( jQuery("#unwrap").children().get(), abcdef, "#unwrap only contains 6 child spans" );
227
+
228
+ deepEqual( jQuery("#unwrap > span").unwrap().get(), jQuery("body > span.unwrap").get(), "make the 6 spans become children of body" );
229
+
230
+ deepEqual( jQuery("body > span.unwrap").unwrap().get(), jQuery("body > span.unwrap").get(), "can't unwrap children of body" );
231
+ deepEqual( jQuery("body > span.unwrap").unwrap().get(), abcdef, "can't unwrap children of body" );
232
+
233
+ deepEqual( jQuery("body > span.unwrap").get(), abcdef, "body contains 6 .unwrap child spans" );
234
+
235
+ jQuery("body > span.unwrap").remove();
236
+ });
237
+
238
+ test( "jQuery(<tag>) & wrap[Inner/All]() handle unknown elems (#10667)", function() {
239
+
240
+ expect( 2 );
241
+
242
+ var $wraptarget = jQuery( "<div id='wrap-target'>Target</div>" ).appendTo( "#qunit-fixture" ),
243
+ $section = jQuery( "<section>" ).appendTo( "#qunit-fixture" );
244
+
245
+ $wraptarget.wrapAll("<aside style='background-color:green'></aside>");
246
+
247
+ notEqual( $wraptarget.parent("aside").get( 0 ).style.backgroundColor, "transparent", "HTML5 elements created with wrapAll inherit styles" );
248
+ notEqual( $section.get( 0 ).style.backgroundColor, "transparent", "HTML5 elements create with jQuery( string ) inherit styles" );
249
+ });
250
+
251
+ test( "wrapping scripts (#10470)", function() {
252
+
253
+ expect( 2 );
254
+
255
+ var script = document.createElement("script");
256
+ script.text = script.textContent = "ok( !document.eval10470, 'script evaluated once' ); document.eval10470 = true;";
257
+
258
+ document.eval10470 = false;
259
+ jQuery("#qunit-fixture").empty()[0].appendChild( script );
260
+ jQuery("#qunit-fixture script").wrap("<b></b>");
261
+ strictEqual( script.parentNode, jQuery("#qunit-fixture > b")[ 0 ], "correctly wrapped" );
262
+ jQuery( script ).remove();
263
+ });
264
+
265
+ })();
@@ -0,0 +1,5 @@
1
+ <?php
2
+ # Load and run the test suite as a proper XHTML page
3
+ header("Content-type: application/xhtml+xml");
4
+ readfile("index.html");
5
+ ?>
data/demo/index.html ADDED
@@ -0,0 +1,347 @@
1
+ <!doctype html>
2
+ <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
3
+ <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
4
+ <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
5
+ <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
6
+ <head>
7
+ <meta charset="utf-8">
8
+ <title>GUFF</title>
9
+ <meta name="description" content="Structure Style Guide">
10
+ <meta name="viewport" content="width=device-width">
11
+ <link rel="stylesheet" href="styles/main.css">
12
+ <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.7.1/modernizr.min.js
13
+
14
+ "></script>
15
+ </head>
16
+ <body>
17
+ <header class="primary">
18
+ <h1>GUFF</h1>
19
+ <p>Lets keep this shit simple.</p>
20
+ </header>
21
+ <main>
22
+ <section>
23
+ <header>
24
+ <h2>CSS Reset Mixin</h2>
25
+ </header>
26
+ <code class="prettyprint">
27
+ @include reset;
28
+ </code>
29
+ </section>
30
+ <section>
31
+ <header>
32
+ <h2>Breakpoint Mixin</h2>
33
+ </header>
34
+ <code class="prettyprint">
35
+ $desktop: "(min-width: 1024px)";
36
+
37
+ div {
38
+ @include breakpoint($desktop){
39
+ width: 100%;
40
+ }
41
+ }
42
+ </code>
43
+ <p>Renders the following media query:</p>
44
+ <code class="prettyprint">
45
+ @media (min-width: 1024px) {
46
+ div {
47
+ width: 100%;
48
+ }
49
+ }
50
+ </code>
51
+ </section>
52
+ <section>
53
+ <header>
54
+ <h2>Container Mixin</h2>
55
+ </header>
56
+ <code class="prettyprint">
57
+ // Use on divs wrapping span mixins
58
+
59
+ .container {
60
+ @include container;
61
+ }
62
+ </code>
63
+ <code class="prettyprint">
64
+ // Use on divs wrapping col mixins
65
+
66
+ .container {
67
+ @include col-container;
68
+ }
69
+ </code>
70
+ </section>
71
+ <section>
72
+ <header>
73
+ <h2>Span Mixin</h2>
74
+ </header>
75
+ <code class="prettyprint">
76
+ // cols : int - Column count
77
+ // padding : boolean - Use grid padding : optional
78
+
79
+ @include span(cols, padding);
80
+ </code>
81
+ <div class="container">
82
+ <div class="float-tile"></div>
83
+ <div class="float-tile"></div>
84
+ <div class="float-tile"></div>
85
+ </div>
86
+ <code class="prettyprint">
87
+ // Requires container with container() mixin
88
+ // Use span function to just get width
89
+
90
+ .tile {
91
+ @include span(4);
92
+ }
93
+ </code>
94
+ </section>
95
+ <section>
96
+ <header>
97
+ <h2>Col Mixin</h2>
98
+ </header>
99
+ <code class="prettyprint">
100
+ // Creates columns with margins using the justify method
101
+ // cols : int - Column count
102
+
103
+ @include col(cols);
104
+ </code>
105
+ <div class="col-container">
106
+ <div class="col-tile"></div>
107
+ <div class="col-tile"></div>
108
+ <div class="col-tile"></div>
109
+ </div>
110
+ <code class="prettyprint">
111
+ // Requires a container with col-container mixin
112
+
113
+ .col {
114
+ @include col(4);
115
+ }
116
+ </code>
117
+ </section>
118
+ <section>
119
+ <header>
120
+ <h2>Offset Mixin</h2>
121
+ </header>
122
+ <code class="prettyprint">
123
+ // cols : int - Column count
124
+
125
+ @include offset(cols);
126
+ </code>
127
+ <div class="container">
128
+ <div class="float-tile offset-tile">
129
+
130
+ </div>
131
+ </div>
132
+ <code class="prettyprint">
133
+ .tile.offset-tile {
134
+ @include @offset(4);
135
+ }
136
+ </code>
137
+ </section>
138
+ <section>
139
+ <header>
140
+ <h2>Span Function</h2>
141
+ </header>
142
+ <code class="prettyprint">
143
+ // Use to simply get column width
144
+
145
+ .tile-no-float {
146
+ width: span(4);
147
+ margin-left: span(2);
148
+ }
149
+ </code>
150
+ </section>
151
+ <section>
152
+ <header>
153
+ <h2>Prefix Mixins</h2>
154
+ </header>
155
+ <code class="prettyprint">
156
+ // Generates browser prefixes for properties
157
+
158
+ // Transistion
159
+ @include transition(all 1s linear);
160
+
161
+ // Transform
162
+ @include transform(translateZ(0));
163
+
164
+ // Box Sizing
165
+ @include box-sizing(border-box);
166
+
167
+ // Anything you want
168
+ @include prefixer(text-shadow, 5px, webkit moz);
169
+
170
+ </code>
171
+ </section>
172
+ <section>
173
+ <header>
174
+ <h2>rem-calc()</h2>
175
+ </header>
176
+ <code class="prettyprint">
177
+ // Calculates rem value for px value
178
+
179
+ font-size: rem-calc(14);
180
+ </code>
181
+ </section>
182
+ <section>
183
+ <header>
184
+ <h2>Helper Mixins</h2>
185
+ </header>
186
+ <code class="prettyprint">
187
+ // Clearfix Mixin
188
+ //
189
+ // &:after {
190
+ // content:"";
191
+ // display:table;
192
+ // clear:both;
193
+ // }
194
+ //
195
+
196
+ @include clear;
197
+
198
+ // clear(boolean) : Use false inside media queries to use mixin instead of placeholder
199
+
200
+ @include clear(false);
201
+
202
+ // Ellipsis Mixin - ellipsis($width)
203
+ //
204
+ // display: inline-block;
205
+ // max-width: $width;
206
+ // overflow: hidden;
207
+ // text-overflow: ellipsis;
208
+ // white-space: nowrap;
209
+ //
210
+
211
+ @include ellipsis(200px);
212
+
213
+ // Hide Text
214
+ //
215
+ // overflow:hidden;
216
+ // text-indent: 100%;
217
+ // white-space: nowrap;
218
+ //
219
+
220
+ @include hide-text;
221
+
222
+ // hide-text(boolean) : Use false inside media queries to use mixin instead of placeholder
223
+
224
+ @include hide-text(false);
225
+
226
+ // Inline List (use on &lt;ul&gt;)
227
+ //
228
+ // list-style-type:none;
229
+ // padding:0;
230
+ // margin:0;
231
+ // overflow:hidden;
232
+ // > li{
233
+ // display:block;
234
+ // float:left;
235
+ // }
236
+
237
+ @include inline-list;
238
+
239
+ // Pass false to render list items as inline-block instead of float
240
+
241
+ @include inline-list(false);
242
+
243
+ </code>
244
+ </section>
245
+ <section class="typography">
246
+ <header>
247
+ <h2>Typographic Rhythm</h2>
248
+ </header>
249
+ <code class="prettyprint">
250
+ // Uses the following variable settings
251
+ //
252
+ // $rem-base - base rem size in px
253
+ // $line-height-base - line height base
254
+ // $type-rhythm-ratio - header scaling ratio
255
+
256
+ @include type(16px, 26px, 1.14);
257
+
258
+ @include type(16px, 1.5, 1.14);
259
+
260
+ // No arguments required, falls back to settings variables
261
+
262
+ @include type;
263
+ </code>
264
+ <h1>H1</h1>
265
+ <h2>H2</h2>
266
+ <h3>H3</h3>
267
+ <h4>H4</h4>
268
+ <h5>H5</h5>
269
+ <h6>H6</h6>
270
+ <p>Paragraph</p>
271
+ </section>
272
+ <section>
273
+ <header>
274
+ <h2>Installation</h2>
275
+ </header>
276
+ <code class="prettyprint">
277
+ // Bower
278
+
279
+ bower install guff
280
+
281
+ // In your SCSS file
282
+
283
+ @import "guff"
284
+ </code>
285
+ <code class="prettyprint">
286
+ // Compass
287
+
288
+ gem install guff-compass
289
+
290
+ // In your config.rb file
291
+
292
+ require "guff-compass"
293
+
294
+ // In your SCSS file
295
+
296
+ @import "guff"
297
+ </code>
298
+ <a href='https://github.com/kenwheeler/guff/' class='download-button'>
299
+ Download
300
+ <span>Latest version from GitHub</span>
301
+ </a>
302
+ </section>
303
+ <section>
304
+ <header>
305
+ <h2>Settings</h2>
306
+ </header>
307
+ <p>Override these variables at the top of your scss file.</p>
308
+ <code class="prettyprint">
309
+ // Set base font size
310
+ $rem-base: 16px !default;
311
+ // Set line height ratio base. Accepts px, em, rem or int values
312
+ $line-height-base: 26px !default;
313
+ // Vertical rhythm ratio
314
+ $type-rhythm-ratio: 1.14 !default;
315
+ // Desktop Media Query
316
+ $desktop: "(min-width: 1024px)" !default;
317
+ // Tablet Media Query
318
+ $tablet: "(min-width: 768px) and (max-width: 1023px)" !default;
319
+ // Mobile Media Query
320
+ $mobile: "(max-width: 767px)" !default;
321
+ // Set Grid Column Count
322
+ $grid-columns: 12 !default;
323
+ // Set Grid Gutter (percentage)
324
+ $grid-gutter: 4 !default;
325
+ // Set Grid Padding (as px)
326
+ $grid-padding: 20px !default;
327
+ // Set Grid Max Width (as px)
328
+ $grid-max-width: 1024px !default;
329
+ </code>
330
+ </section>
331
+ <section>
332
+ <header>
333
+ <h2>Playground</h2>
334
+ </header>
335
+ <a href='http://codepen.io/kenwheeler/pen/tpBdF' class='download-button'>
336
+ Try it out live
337
+ <span>On The Codepen Sandbox</span>
338
+ </a>
339
+ </section>
340
+ </main>
341
+ <footer class="primary">
342
+ <p>&copy; 2014 Ken Wheeler</p>
343
+ </footer>
344
+ <script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?lang=css"></script>
345
+
346
+ </body>
347
+ </html>