paint-rails 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (397) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.gitmodules +3 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +31 -0
  7. data/Rakefile +32 -0
  8. data/lib/paint-rails/version.rb +5 -0
  9. data/lib/paint-rails.rb +8 -0
  10. data/paint-rails.gemspec +21 -0
  11. data/vendor/assets/images/favicon.ico +0 -0
  12. data/vendor/assets/images/logo.png +0 -0
  13. data/vendor/assets/stylesheets/bower_components/fastclick/.bower.json +23 -0
  14. data/vendor/assets/stylesheets/bower_components/fastclick/LICENSE +22 -0
  15. data/vendor/assets/stylesheets/bower_components/fastclick/README.md +140 -0
  16. data/vendor/assets/stylesheets/bower_components/fastclick/bower.json +12 -0
  17. data/vendor/assets/stylesheets/bower_components/fastclick/lib/fastclick.js +841 -0
  18. data/vendor/assets/stylesheets/bower_components/fontawesome/.bower.json +36 -0
  19. data/vendor/assets/stylesheets/bower_components/fontawesome/.gitignore +32 -0
  20. data/vendor/assets/stylesheets/bower_components/fontawesome/.npmignore +42 -0
  21. data/vendor/assets/stylesheets/bower_components/fontawesome/bower.json +23 -0
  22. data/vendor/assets/stylesheets/bower_components/fontawesome/css/font-awesome.css +1672 -0
  23. data/vendor/assets/stylesheets/bower_components/fontawesome/css/font-awesome.min.css +4 -0
  24. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/FontAwesome.otf +0 -0
  25. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.eot +0 -0
  26. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.svg +520 -0
  27. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
  28. data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.woff +0 -0
  29. data/vendor/assets/stylesheets/bower_components/fontawesome/less/bordered-pulled.less +16 -0
  30. data/vendor/assets/stylesheets/bower_components/fontawesome/less/core.less +11 -0
  31. data/vendor/assets/stylesheets/bower_components/fontawesome/less/extras.less +2 -0
  32. data/vendor/assets/stylesheets/bower_components/fontawesome/less/fixed-width.less +6 -0
  33. data/vendor/assets/stylesheets/bower_components/fontawesome/less/font-awesome.less +17 -0
  34. data/vendor/assets/stylesheets/bower_components/fontawesome/less/icons.less +552 -0
  35. data/vendor/assets/stylesheets/bower_components/fontawesome/less/larger.less +13 -0
  36. data/vendor/assets/stylesheets/bower_components/fontawesome/less/list.less +19 -0
  37. data/vendor/assets/stylesheets/bower_components/fontawesome/less/mixins.less +25 -0
  38. data/vendor/assets/stylesheets/bower_components/fontawesome/less/path.less +14 -0
  39. data/vendor/assets/stylesheets/bower_components/fontawesome/less/rotated-flipped.less +20 -0
  40. data/vendor/assets/stylesheets/bower_components/fontawesome/less/spinning.less +29 -0
  41. data/vendor/assets/stylesheets/bower_components/fontawesome/less/stacked.less +20 -0
  42. data/vendor/assets/stylesheets/bower_components/fontawesome/less/variables.less +561 -0
  43. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_bordered-pulled.scss +16 -0
  44. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_core.scss +11 -0
  45. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_extras.scss +44 -0
  46. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_fixed-width.scss +6 -0
  47. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_icons.scss +552 -0
  48. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_larger.scss +13 -0
  49. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_list.scss +19 -0
  50. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_mixins.scss +25 -0
  51. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_path.scss +14 -0
  52. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_rotated-flipped.scss +20 -0
  53. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_spinning.scss +29 -0
  54. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_stacked.scss +20 -0
  55. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_variables.scss +561 -0
  56. data/vendor/assets/stylesheets/bower_components/fontawesome/scss/font-awesome.scss +17 -0
  57. data/vendor/assets/stylesheets/bower_components/foundation/.bower.json +32 -0
  58. data/vendor/assets/stylesheets/bower_components/foundation/bower.json +23 -0
  59. data/vendor/assets/stylesheets/bower_components/foundation/css/foundation.css +6138 -0
  60. data/vendor/assets/stylesheets/bower_components/foundation/css/normalize.css +357 -0
  61. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.abide.js +314 -0
  62. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.accordion.js +66 -0
  63. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.alert.js +43 -0
  64. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.clearing.js +558 -0
  65. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.dropdown.js +326 -0
  66. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.equalizer.js +74 -0
  67. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.interchange.js +344 -0
  68. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.joyride.js +917 -0
  69. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.js +625 -0
  70. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.magellan.js +189 -0
  71. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.offcanvas.js +152 -0
  72. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.orbit.js +472 -0
  73. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.reveal.js +444 -0
  74. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.slider.js +239 -0
  75. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.tab.js +217 -0
  76. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.tooltip.js +300 -0
  77. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.topbar.js +445 -0
  78. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation.js +5741 -0
  79. data/vendor/assets/stylesheets/bower_components/foundation/js/foundation.min.js +4 -0
  80. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/fastclick.js +9 -0
  81. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/jquery.cookie.js +8 -0
  82. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/jquery.js +26 -0
  83. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/modernizr.js +8 -0
  84. data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/placeholder.js +2 -0
  85. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/_functions.scss +102 -0
  86. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/_settings.scss +1441 -0
  87. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_accordion.scss +157 -0
  88. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_alert-boxes.scss +128 -0
  89. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_block-grid.scss +132 -0
  90. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_breadcrumbs.scss +132 -0
  91. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_button-groups.scss +197 -0
  92. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_buttons.scss +259 -0
  93. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_clearing.scss +247 -0
  94. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_dropdown-buttons.scss +130 -0
  95. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_dropdown.scss +262 -0
  96. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_flex-video.scss +51 -0
  97. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_forms.scss +585 -0
  98. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_global.scss +460 -0
  99. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_grid.scss +275 -0
  100. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_icon-bar.scss +293 -0
  101. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_inline-lists.scss +57 -0
  102. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_joyride.scss +222 -0
  103. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_keystrokes.scss +61 -0
  104. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_labels.scss +106 -0
  105. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_magellan.scss +34 -0
  106. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_offcanvas.scss +513 -0
  107. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_orbit.scss +368 -0
  108. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_pagination.scss +162 -0
  109. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_panels.scss +95 -0
  110. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_pricing-tables.scss +150 -0
  111. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_progress-bars.scss +79 -0
  112. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_range-slider.scss +168 -0
  113. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_reveal.scss +222 -0
  114. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_side-nav.scss +116 -0
  115. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_split-buttons.scss +191 -0
  116. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_sub-nav.scss +123 -0
  117. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_switches.scss +230 -0
  118. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tables.scss +135 -0
  119. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tabs.scss +123 -0
  120. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_thumbs.scss +66 -0
  121. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_toolbar.scss +70 -0
  122. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tooltips.scss +142 -0
  123. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_top-bar.scss +685 -0
  124. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_type.scss +525 -0
  125. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_visibility.scss +408 -0
  126. data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation.scss +45 -0
  127. data/vendor/assets/stylesheets/bower_components/foundation/scss/normalize.scss +427 -0
  128. data/vendor/assets/stylesheets/bower_components/jquery/.bower.json +37 -0
  129. data/vendor/assets/stylesheets/bower_components/jquery/MIT-LICENSE.txt +21 -0
  130. data/vendor/assets/stylesheets/bower_components/jquery/bower.json +27 -0
  131. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.js +9205 -0
  132. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.min.js +5 -0
  133. data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.min.map +1 -0
  134. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/jsonp.js +89 -0
  135. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/load.js +75 -0
  136. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  137. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/parseXML.js +28 -0
  138. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/script.js +64 -0
  139. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  140. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  141. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/xhr.js +136 -0
  142. data/vendor/assets/stylesheets/bower_components/jquery/src/ajax.js +786 -0
  143. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/attr.js +141 -0
  144. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/classes.js +158 -0
  145. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/prop.js +94 -0
  146. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/support.js +35 -0
  147. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/val.js +161 -0
  148. data/vendor/assets/stylesheets/bower_components/jquery/src/attributes.js +11 -0
  149. data/vendor/assets/stylesheets/bower_components/jquery/src/callbacks.js +205 -0
  150. data/vendor/assets/stylesheets/bower_components/jquery/src/core/access.js +60 -0
  151. data/vendor/assets/stylesheets/bower_components/jquery/src/core/init.js +123 -0
  152. data/vendor/assets/stylesheets/bower_components/jquery/src/core/parseHTML.js +39 -0
  153. data/vendor/assets/stylesheets/bower_components/jquery/src/core/ready.js +97 -0
  154. data/vendor/assets/stylesheets/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  155. data/vendor/assets/stylesheets/bower_components/jquery/src/core.js +497 -0
  156. data/vendor/assets/stylesheets/bower_components/jquery/src/css/addGetHookIf.js +22 -0
  157. data/vendor/assets/stylesheets/bower_components/jquery/src/css/curCSS.js +57 -0
  158. data/vendor/assets/stylesheets/bower_components/jquery/src/css/defaultDisplay.js +70 -0
  159. data/vendor/assets/stylesheets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  160. data/vendor/assets/stylesheets/bower_components/jquery/src/css/support.js +96 -0
  161. data/vendor/assets/stylesheets/bower_components/jquery/src/css/swap.js +28 -0
  162. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  163. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/getStyles.js +12 -0
  164. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/isHidden.js +13 -0
  165. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/rmargin.js +3 -0
  166. data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  167. data/vendor/assets/stylesheets/bower_components/jquery/src/css.js +450 -0
  168. data/vendor/assets/stylesheets/bower_components/jquery/src/data/Data.js +181 -0
  169. data/vendor/assets/stylesheets/bower_components/jquery/src/data/accepts.js +20 -0
  170. data/vendor/assets/stylesheets/bower_components/jquery/src/data/var/data_priv.js +5 -0
  171. data/vendor/assets/stylesheets/bower_components/jquery/src/data/var/data_user.js +5 -0
  172. data/vendor/assets/stylesheets/bower_components/jquery/src/data.js +178 -0
  173. data/vendor/assets/stylesheets/bower_components/jquery/src/deferred.js +149 -0
  174. data/vendor/assets/stylesheets/bower_components/jquery/src/deprecated.js +13 -0
  175. data/vendor/assets/stylesheets/bower_components/jquery/src/dimensions.js +50 -0
  176. data/vendor/assets/stylesheets/bower_components/jquery/src/effects/Tween.js +114 -0
  177. data/vendor/assets/stylesheets/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  178. data/vendor/assets/stylesheets/bower_components/jquery/src/effects.js +648 -0
  179. data/vendor/assets/stylesheets/bower_components/jquery/src/event/ajax.js +13 -0
  180. data/vendor/assets/stylesheets/bower_components/jquery/src/event/alias.js +39 -0
  181. data/vendor/assets/stylesheets/bower_components/jquery/src/event/support.js +9 -0
  182. data/vendor/assets/stylesheets/bower_components/jquery/src/event.js +868 -0
  183. data/vendor/assets/stylesheets/bower_components/jquery/src/exports/amd.js +24 -0
  184. data/vendor/assets/stylesheets/bower_components/jquery/src/exports/global.js +32 -0
  185. data/vendor/assets/stylesheets/bower_components/jquery/src/intro.js +44 -0
  186. data/vendor/assets/stylesheets/bower_components/jquery/src/jquery.js +37 -0
  187. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  188. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/support.js +32 -0
  189. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  190. data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation.js +580 -0
  191. data/vendor/assets/stylesheets/bower_components/jquery/src/offset.js +207 -0
  192. data/vendor/assets/stylesheets/bower_components/jquery/src/outro.js +1 -0
  193. data/vendor/assets/stylesheets/bower_components/jquery/src/queue/delay.js +22 -0
  194. data/vendor/assets/stylesheets/bower_components/jquery/src/queue.js +142 -0
  195. data/vendor/assets/stylesheets/bower_components/jquery/src/selector-native.js +172 -0
  196. data/vendor/assets/stylesheets/bower_components/jquery/src/selector-sizzle.js +14 -0
  197. data/vendor/assets/stylesheets/bower_components/jquery/src/selector.js +1 -0
  198. data/vendor/assets/stylesheets/bower_components/jquery/src/serialize.js +111 -0
  199. data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.js +2067 -0
  200. data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  201. data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  202. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/findFilter.js +100 -0
  203. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  204. data/vendor/assets/stylesheets/bower_components/jquery/src/traversing.js +199 -0
  205. data/vendor/assets/stylesheets/bower_components/jquery/src/var/arr.js +3 -0
  206. data/vendor/assets/stylesheets/bower_components/jquery/src/var/class2type.js +4 -0
  207. data/vendor/assets/stylesheets/bower_components/jquery/src/var/concat.js +5 -0
  208. data/vendor/assets/stylesheets/bower_components/jquery/src/var/hasOwn.js +5 -0
  209. data/vendor/assets/stylesheets/bower_components/jquery/src/var/indexOf.js +5 -0
  210. data/vendor/assets/stylesheets/bower_components/jquery/src/var/pnum.js +3 -0
  211. data/vendor/assets/stylesheets/bower_components/jquery/src/var/push.js +5 -0
  212. data/vendor/assets/stylesheets/bower_components/jquery/src/var/rnotwhite.js +3 -0
  213. data/vendor/assets/stylesheets/bower_components/jquery/src/var/slice.js +5 -0
  214. data/vendor/assets/stylesheets/bower_components/jquery/src/var/strundefined.js +3 -0
  215. data/vendor/assets/stylesheets/bower_components/jquery/src/var/support.js +4 -0
  216. data/vendor/assets/stylesheets/bower_components/jquery/src/var/toString.js +5 -0
  217. data/vendor/assets/stylesheets/bower_components/jquery/src/wrap.js +79 -0
  218. data/vendor/assets/stylesheets/bower_components/jquery-placeholder/.bower.json +33 -0
  219. data/vendor/assets/stylesheets/bower_components/jquery-placeholder/bower.json +21 -0
  220. data/vendor/assets/stylesheets/bower_components/jquery-placeholder/jquery.placeholder.js +192 -0
  221. data/vendor/assets/stylesheets/bower_components/jquery.cookie/.bower.json +28 -0
  222. data/vendor/assets/stylesheets/bower_components/jquery.cookie/bower.json +18 -0
  223. data/vendor/assets/stylesheets/bower_components/jquery.cookie/jquery.cookie.js +117 -0
  224. data/vendor/assets/stylesheets/bower_components/modernizr/.bower.json +14 -0
  225. data/vendor/assets/stylesheets/bower_components/modernizr/.editorconfig +10 -0
  226. data/vendor/assets/stylesheets/bower_components/modernizr/.gitignore +2 -0
  227. data/vendor/assets/stylesheets/bower_components/modernizr/.travis.yml +6 -0
  228. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/a-download.js +8 -0
  229. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/audio-audiodata-api.js +4 -0
  230. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/audio-webaudio-api.js +4 -0
  231. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/battery-api.js +8 -0
  232. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/battery-level.js +11 -0
  233. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/blob-constructor.js +10 -0
  234. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/canvas-todataurl-type.js +28 -0
  235. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contenteditable.js +9 -0
  236. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contentsecuritypolicy.js +10 -0
  237. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contextmenu.js +11 -0
  238. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/cookies.js +15 -0
  239. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/cors.js +3 -0
  240. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundposition-shorthand.js +19 -0
  241. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundposition-xy.js +15 -0
  242. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundrepeat.js +31 -0
  243. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundsizecover.js +10 -0
  244. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-boxsizing.js +9 -0
  245. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-calc.js +12 -0
  246. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-cubicbezierrange.js +8 -0
  247. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-displayrunin.js +18 -0
  248. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-displaytable.js +27 -0
  249. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-filters.js +7 -0
  250. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-hyphens.js +205 -0
  251. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-lastchild.js +11 -0
  252. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-mask.js +12 -0
  253. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-mediaqueries.js +3 -0
  254. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-objectfit.js +6 -0
  255. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-overflow-scrolling.js +9 -0
  256. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-pointerevents.js +25 -0
  257. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-positionsticky.js +13 -0
  258. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-regions.js +55 -0
  259. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-remunit.js +19 -0
  260. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-resize.js +8 -0
  261. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-scrollbars.js +19 -0
  262. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-shapes.js +4 -0
  263. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-subpixelfont.js +23 -0
  264. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-supports.js +6 -0
  265. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-userselect.js +10 -0
  266. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vhunit.js +14 -0
  267. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vmaxunit.js +14 -0
  268. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vminunit.js +14 -0
  269. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vwunit.js +14 -0
  270. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/custom-protocol-handler.js +10 -0
  271. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dart.js +6 -0
  272. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dataview-api.js +4 -0
  273. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-classlist.js +4 -0
  274. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-createElement-attrs.js +11 -0
  275. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-dataset.js +9 -0
  276. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-microdata.js +4 -0
  277. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-datalist.js +12 -0
  278. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-details.js +25 -0
  279. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-output.js +4 -0
  280. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-progress-meter.js +11 -0
  281. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-ruby.js +53 -0
  282. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-time.js +4 -0
  283. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-track.js +11 -0
  284. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/emoji.js +11 -0
  285. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/es5-strictmode.js +7 -0
  286. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/event-deviceorientation-motion.js +11 -0
  287. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/exif-orientation.js +32 -0
  288. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/file-api.js +12 -0
  289. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/file-filesystem.js +9 -0
  290. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-fileinput.js +13 -0
  291. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-formattribute.js +29 -0
  292. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js +32 -0
  293. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-placeholder.js +10 -0
  294. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-speechinput.js +19 -0
  295. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-validation.js +62 -0
  296. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/fullscreen-api.js +10 -0
  297. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/gamepad.js +12 -0
  298. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/getusermedia.js +5 -0
  299. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/ie8compat.js +12 -0
  300. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-sandbox.js +5 -0
  301. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-seamless.js +5 -0
  302. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-srcdoc.js +5 -0
  303. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/img-apng.js +26 -0
  304. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/img-webp.js +20 -0
  305. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/json.js +7 -0
  306. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/lists-reversed.js +6 -0
  307. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/mathml.js +23 -0
  308. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-connection.js +22 -0
  309. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-eventsource.js +5 -0
  310. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-xhr2.js +13 -0
  311. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/notification.js +10 -0
  312. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/performance.js +5 -0
  313. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/pointerlock-api.js +4 -0
  314. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/quota-management-api.js +11 -0
  315. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/requestanimationframe.js +7 -0
  316. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/script-async.js +3 -0
  317. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/script-defer.js +3 -0
  318. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/style-scoped.js +6 -0
  319. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/svg-filters.js +13 -0
  320. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/unicode.js +32 -0
  321. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/url-data-uri.js +26 -0
  322. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/userdata.js +7 -0
  323. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/vibration.js +4 -0
  324. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/web-intents.js +6 -0
  325. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/webgl-extensions.js +42 -0
  326. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/websockets-binary.js +20 -0
  327. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/window-framed.js +8 -0
  328. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-blobworkers.js +66 -0
  329. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-dataworkers.js +34 -0
  330. data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-sharedworkers.js +3 -0
  331. data/vendor/assets/stylesheets/bower_components/modernizr/grunt.js +69 -0
  332. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.ai +292 -1
  333. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.eps +0 -0
  334. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.pdf +292 -1
  335. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.png +0 -0
  336. data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.svg +35 -0
  337. data/vendor/assets/stylesheets/bower_components/modernizr/modernizr.js +1406 -0
  338. data/vendor/assets/stylesheets/bower_components/modernizr/readme.md +28 -0
  339. data/vendor/assets/stylesheets/bower_components/modernizr/test/basic.html +65 -0
  340. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse.html +1451 -0
  341. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.eot +0 -0
  342. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.otf +0 -0
  343. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.svg +147 -0
  344. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.ttf +0 -0
  345. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.woff +0 -0
  346. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/alpha.png +0 -0
  347. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/apng_test.png +0 -0
  348. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/before-after.png +0 -0
  349. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/form_validation.html +15 -0
  350. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/ga.js +43 -0
  351. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/green5x5.png +0 -0
  352. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/hashchange.html +16 -0
  353. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/jquery.min.js +18 -0
  354. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/mathml.html +120 -0
  355. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/mathml_ref.png +0 -0
  356. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/modernizr-1.7.min.js +2 -0
  357. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/png_alpha_result.png +0 -0
  358. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/pushstate.html +40 -0
  359. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/red30x30.png +0 -0
  360. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/ruby.png +0 -0
  361. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/stroked-text.png +0 -0
  362. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/style.css +168 -0
  363. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-html-blur.png +0 -0
  364. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-img.svg +5 -0
  365. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-img.svg.1 +5 -0
  366. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg_blur.png +0 -0
  367. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/table.png +0 -0
  368. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/text-shadow1.png +0 -0
  369. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/text-shadow2.png +0 -0
  370. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/windsong_font.png +0 -0
  371. data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/xhtml.html +14 -0
  372. data/vendor/assets/stylesheets/bower_components/modernizr/test/index.html +104 -0
  373. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/basic.html +65 -0
  374. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/dumpdata.js +75 -0
  375. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/detect-global.js +153 -0
  376. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/jquery-1.7b2.js +9279 -0
  377. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/jsonselect.js +279 -0
  378. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/polyfills.js +96 -0
  379. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/uaparser.js +215 -0
  380. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/setup.js +44 -0
  381. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/unit-caniuse.js +191 -0
  382. data/vendor/assets/stylesheets/bower_components/modernizr/test/js/unit.js +669 -0
  383. data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/qunit.css +231 -0
  384. data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/qunit.js +1932 -0
  385. data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/run-qunit.js +72 -0
  386. data/vendor/assets/stylesheets/components/_button.scss +61 -0
  387. data/vendor/assets/stylesheets/components/_dropdown.scss +27 -0
  388. data/vendor/assets/stylesheets/components/_grid.scss +37 -0
  389. data/vendor/assets/stylesheets/components/_heading.scss +17 -0
  390. data/vendor/assets/stylesheets/components/_icon.scss +4 -0
  391. data/vendor/assets/stylesheets/components/_label.scss +3 -0
  392. data/vendor/assets/stylesheets/components/_layout.scss +263 -0
  393. data/vendor/assets/stylesheets/components/_progress-bar.scss +14 -0
  394. data/vendor/assets/stylesheets/globals/_mixins.scss +5 -0
  395. data/vendor/assets/stylesheets/globals/_settings.scss +64 -0
  396. data/vendor/assets/stylesheets/paint.scss +20 -0
  397. metadata +481 -0
@@ -0,0 +1,669 @@
1
+ QUnit.begin = function() {
2
+ console.log("Starting test suite");
3
+ console.log("================================================\n");
4
+ };
5
+
6
+ QUnit.moduleDone = function(opts) {
7
+ if(opts.failed === 0) {
8
+ console.log("\u2714 All tests passed in '"+opts.name+"' module");
9
+ } else {
10
+ console.log("\u2716 "+ opts.failed +" tests failed in '"+opts.name+"' module");
11
+ }
12
+ };
13
+
14
+ QUnit.done = function(opts) {
15
+ console.log("\n================================================");
16
+ console.log("Tests completed in "+opts.runtime+" milliseconds");
17
+ console.log(opts.passed + " tests of "+opts.total+" passed, "+opts.failed+" failed.");
18
+ };
19
+
20
+ module('Basics', {
21
+ setup:function() {
22
+ },
23
+ teardown:function() {
24
+ }
25
+ });
26
+
27
+ test("globals set up", function() {
28
+
29
+ ok(window.Modernizr, 'global modernizr object created');
30
+
31
+ });
32
+
33
+ test("bind is implemented", function() {
34
+
35
+ ok(Function.prototype.bind, 'bind is a member of Function.prototype');
36
+
37
+ var a = function(){
38
+ return this.modernizr;
39
+ };
40
+ a = a.bind({modernizr: 'just awsome'});
41
+
42
+ equal("just awsome", a(), 'bind works as expected');
43
+
44
+
45
+ // thank you webkit layoutTests
46
+
47
+
48
+ var result;
49
+
50
+ function F(x, y)
51
+ {
52
+ result = this + " -> x:" + x + ", y:" + y;
53
+ }
54
+
55
+ G = F.bind("'a'", "'b'");
56
+ H = G.bind("'Cannot rebind this!'", "'c'");
57
+
58
+ G(1,2);
59
+ equal(result, "\'a\' -> x:\'b\', y:1");
60
+ H(1,2);
61
+ equal(result, "\'a\' -> x:\'b\', y:\'c\'");
62
+
63
+ var f = new F(1,2);
64
+ equal(result, "[object Object] -> x:1, y:2");
65
+ var g = new G(1,2);
66
+ equal(result, "[object Object] -> x:\'b\', y:1");
67
+ var h = new H(1,2);
68
+ equal(result, "[object Object] -> x:\'b\', y:\'c\'");
69
+
70
+ ok(f instanceof F, "f instanceof F");
71
+ ok(g instanceof F, "g instanceof F");
72
+ ok(h instanceof F, "h instanceof F");
73
+
74
+ // Bound functions don't have a 'prototype' property.
75
+ ok("prototype" in F, '"prototype" in F');
76
+
77
+ // The object passed to bind as 'this' must be callable.
78
+ raises(function(){
79
+ Function.bind.call(undefined);
80
+ });
81
+
82
+ // Objects that allow call but not construct can be bound, but should throw if used with new.
83
+ var abcAt = String.prototype.charAt.bind("abc");
84
+ equal(abcAt(1), "b", 'Objects that allow call but not construct can be bound...');
85
+
86
+ equal(1, Function.bind.length, 'it exists');
87
+
88
+
89
+ });
90
+
91
+
92
+
93
+ test("document.documentElement is valid and correct",1, function() {
94
+ equal(document.documentElement,document.getElementsByTagName('html')[0]);
95
+ });
96
+
97
+
98
+ test("no-js class is gone.", function() {
99
+
100
+ ok(!/(?:^|\s)no-js(?:^|\s)/.test(document.documentElement.className),
101
+ 'no-js class is gone');
102
+
103
+ ok(/(?:^|\s)js(?:^|\s)/.test(document.documentElement.className),
104
+ 'html.js class is present');
105
+
106
+ ok(/(?:^|\s)\+no-js(?:\s|$)/.test(document.documentElement.className),
107
+ 'html.+no-js class is still present');
108
+
109
+ ok(/(?:^|\s)no-js-(?:\s|$)/.test(document.documentElement.className),
110
+ 'html.no-js- class is still present');
111
+
112
+ ok(/(?:^|\s)i-has-no-js(?:\s|$)/.test(document.documentElement.className),
113
+ 'html.i-has-no-js class is still present');
114
+
115
+ if (document.querySelector){
116
+ ok(document.querySelector('html.js') == document.documentElement,
117
+ "document.querySelector('html.js') matches.");
118
+ }
119
+ });
120
+
121
+ test('html shim worked', function(){
122
+ expect(2);
123
+
124
+ // the exact test we use in the script
125
+ var elem = document.getElementsByTagName("section")[0];
126
+ elem.id = "html5section";
127
+
128
+ ok( elem.childNodes.length === 1 , 'unknown elements dont collapse');
129
+
130
+ elem.style.color = 'red';
131
+ ok( /red|#ff0000/i.test(elem.style.color), 'unknown elements are styleable')
132
+
133
+ });
134
+
135
+
136
+ module('Modernizr classes and bools', {
137
+ setup:function() {
138
+ },
139
+ teardown:function() {
140
+ }
141
+ });
142
+
143
+
144
+ test('html classes are looking good',function(){
145
+
146
+ var classes = TEST.trim(document.documentElement.className).split(/\s+/);
147
+
148
+ var modprops = Object.keys(Modernizr),
149
+ newprops = modprops;
150
+
151
+ // decrement for the properties that are private
152
+ for (var i = -1, len = TEST.privates.length; ++i < len; ){
153
+ var item = TEST.privates[i];
154
+ equal(-1, TEST.inArray(item, classes), 'private Modernizr object '+ item +'should not have matching classes');
155
+ equal(-1, TEST.inArray('no-' + item, classes), 'private Modernizr object no-'+item+' should not have matching classes');
156
+ }
157
+
158
+ // decrement for the non-boolean objects
159
+ // for (var i = -1, len = TEST.inputs.length; ++i < len; ){
160
+ // if (Modernizr[TEST.inputs[i]] != undefined) newprops--;
161
+ // }
162
+
163
+ // TODO decrement for the extraclasses
164
+
165
+ // decrement for deprecated ones.
166
+ $.each( TEST.deprecated, function(key, val){
167
+ newprops.splice( TEST.inArray(item, newprops), 1);
168
+ });
169
+
170
+
171
+ //equal(classes,newprops,'equal number of classes and global object props');
172
+
173
+ if (classes.length !== newprops){
174
+ //window.console && console.log(classes, newprops);
175
+
176
+ }
177
+
178
+ for (var i = 0, len = classes.length, aclass; i <len; i++){
179
+ aclass = classes[i];
180
+
181
+ // Skip js related classes.
182
+ if (/^(?:js|\+no-js|no-js-|i-has-no-js)$/.test(aclass)) continue;
183
+
184
+ if (aclass.indexOf('no-') === 0){
185
+ aclass = aclass.replace('no-','');
186
+
187
+ equal(Modernizr[aclass], false,
188
+ aclass + ' is correctly false in the classes and object')
189
+
190
+ } else {
191
+ equal(Modernizr[aclass], true,
192
+ aclass + ' is correctly true in the classes and object')
193
+ }
194
+ }
195
+
196
+
197
+ for (var i = 0, len = classes.length, aclass; i <len; i++){
198
+ equal(classes[i],classes[i].toLowerCase(),'all classes are lowerCase.');
199
+ }
200
+
201
+ // Remove fake no-js classes before test.
202
+ var docElClass = document.documentElement.className;
203
+ $.each(['\\+no-js', 'no-js-', 'i-has-no-js'], function(i, fakeClass) {
204
+ docElClass = docElClass.replace(new RegExp('(^|\\s)' + fakeClass + '(\\s|$)', 'g'), '$1$2');
205
+ });
206
+ equal(/[^\s]no-/.test(docElClass), false, 'whitespace between all classes.');
207
+
208
+
209
+ })
210
+
211
+
212
+ test('Modernizr properties are looking good',function(){
213
+
214
+ var count = 0,
215
+ nobool = TEST.API.concat(TEST.inputs)
216
+ .concat(TEST.audvid)
217
+ .concat(TEST.privates)
218
+ .concat(['textarea']); // due to forms-placeholder.js test
219
+
220
+ for (var prop in window.Modernizr){
221
+ if (Modernizr.hasOwnProperty(prop)){
222
+
223
+ if (TEST.inArray(prop,nobool) >= 0) continue;
224
+
225
+ ok(Modernizr[prop] === true || Modernizr[prop] === false,
226
+ 'Modernizr.'+prop+' is a straight up boolean');
227
+
228
+
229
+ equal(prop,prop.toLowerCase(),'all properties are lowerCase.')
230
+ }
231
+ }
232
+ })
233
+
234
+
235
+
236
+ test('Modernizr.audio and Modernizr.video',function(){
237
+
238
+ for (var i = -1, len = TEST.audvid.length; ++i < len;){
239
+ var prop = TEST.audvid[i];
240
+
241
+ if (Modernizr[prop].toString() == 'true'){
242
+
243
+ ok(Modernizr[prop], 'Modernizr.'+prop+' is truthy.');
244
+ equal(Modernizr[prop] == true,true, 'Modernizr.'+prop+' is == true')
245
+ equal(typeof Modernizr[prop] === 'object',true,'Moderizr.'+prop+' is truly an object');
246
+ equal(Modernizr[prop] !== true,true, 'Modernizr.'+prop+' is !== true')
247
+
248
+ } else {
249
+
250
+ equal(Modernizr[prop] != true,true, 'Modernizr.'+prop+' is != true')
251
+ }
252
+ }
253
+
254
+
255
+ });
256
+
257
+
258
+ test('Modernizr results match expected values',function(){
259
+
260
+ // i'm bringing over a few tests from inside Modernizr.js
261
+ equal(!!document.createElement('canvas').getContext,Modernizr.canvas,'canvas test consistent');
262
+
263
+ equal(!!window.Worker,Modernizr.webworkers,'web workers test consistent')
264
+
265
+ });
266
+
267
+
268
+
269
+ module('Modernizr\'s API methods', {
270
+ setup:function() {
271
+ },
272
+ teardown:function() {
273
+ }
274
+ });
275
+
276
+ test('Modernizr.addTest()',22,function(){
277
+
278
+ var docEl = document.documentElement;
279
+
280
+
281
+ Modernizr.addTest('testtrue',function(){
282
+ return true;
283
+ });
284
+
285
+ Modernizr.addTest('testtruthy',function(){
286
+ return 100;
287
+ });
288
+
289
+ Modernizr.addTest('testfalse',function(){
290
+ return false;
291
+ });
292
+
293
+ Modernizr.addTest('testfalsy',function(){
294
+ return undefined;
295
+ });
296
+
297
+ ok(docEl.className.indexOf(' testtrue') >= 0,'positive class added');
298
+ equal(Modernizr.testtrue,true,'positive prop added');
299
+
300
+ ok(docEl.className.indexOf(' testtruthy') >= 0,'positive class added');
301
+ equal(Modernizr.testtruthy,100,'truthy value is not casted to straight boolean');
302
+
303
+ ok(docEl.className.indexOf(' no-testfalse') >= 0,'negative class added');
304
+ equal(Modernizr.testfalse,false,'negative prop added');
305
+
306
+ ok(docEl.className.indexOf(' no-testfalsy') >= 0,'negative class added');
307
+ equal(Modernizr.testfalsy,undefined,'falsy value is not casted to straight boolean');
308
+
309
+
310
+
311
+ Modernizr.addTest('testcamelCase',function(){
312
+ return true;
313
+ });
314
+
315
+ ok(docEl.className.indexOf(' testcamelCase') === -1,
316
+ 'camelCase test name toLowerCase()\'d');
317
+
318
+
319
+ // okay new signature for this API! woo
320
+
321
+ Modernizr.addTest('testboolfalse', false);
322
+
323
+ ok(~docEl.className.indexOf(' no-testboolfalse'), 'Modernizr.addTest(feature, bool): negative class added');
324
+ equal(Modernizr.testboolfalse, false, 'Modernizr.addTest(feature, bool): negative prop added');
325
+
326
+
327
+
328
+ Modernizr.addTest('testbooltrue', true);
329
+
330
+ ok(~docEl.className.indexOf(' testbooltrue'), 'Modernizr.addTest(feature, bool): positive class added');
331
+ equal(Modernizr.testbooltrue, true, 'Modernizr.addTest(feature, bool): positive prop added');
332
+
333
+
334
+
335
+ Modernizr.addTest({'testobjboolfalse': false,
336
+ 'testobjbooltrue' : true });
337
+
338
+ ok(~docEl.className.indexOf(' no-testobjboolfalse'), 'Modernizr.addTest({feature: bool}): negative class added');
339
+ equal(Modernizr.testobjboolfalse, false, 'Modernizr.addTest({feature: bool}): negative prop added');
340
+
341
+ ok(~docEl.className.indexOf(' testobjbooltrue'), 'Modernizr.addTest({feature: bool}): positive class added');
342
+ equal(Modernizr.testobjbooltrue, true, 'Modernizr.addTest({feature: bool}): positive prop added');
343
+
344
+
345
+
346
+
347
+ Modernizr.addTest({'testobjfnfalse': function(){ return false },
348
+ 'testobjfntrue' : function(){ return true } });
349
+
350
+
351
+ ok(~docEl.className.indexOf(' no-testobjfnfalse'), 'Modernizr.addTest({feature: bool}): negative class added');
352
+ equal(Modernizr.testobjfnfalse, false, 'Modernizr.addTest({feature: bool}): negative prop added');
353
+
354
+ ok(~docEl.className.indexOf(' testobjfntrue'), 'Modernizr.addTest({feature: bool}): positive class added');
355
+ equal(Modernizr.testobjfntrue, true, 'Modernizr.addTest({feature: bool}): positive prop added');
356
+
357
+
358
+ Modernizr
359
+ .addTest('testchainone', true)
360
+ .addTest({ testchaintwo: true })
361
+ .addTest('testchainthree', function(){ return true; });
362
+
363
+ ok( Modernizr.testchainone == Modernizr.testchaintwo == Modernizr.testchainthree, 'addTest is chainable');
364
+
365
+
366
+ }); // eo addTest
367
+
368
+
369
+
370
+
371
+
372
+ test('Modernizr.mq: media query testing',function(){
373
+
374
+ var $html = $('html');
375
+ $.mobile = {};
376
+
377
+ // from jquery mobile
378
+
379
+ $.mobile.media = (function() {
380
+ // TODO: use window.matchMedia once at least one UA implements it
381
+ var cache = {},
382
+ testDiv = $( "<div id='jquery-mediatest'>" ),
383
+ fakeBody = $( "<body>" ).append( testDiv );
384
+
385
+ return function( query ) {
386
+ if ( !( query in cache ) ) {
387
+ var styleBlock = document.createElement('style'),
388
+ cssrule = "@media " + query + " { #jquery-mediatest { position:absolute; } }";
389
+ //must set type for IE!
390
+ styleBlock.type = "text/css";
391
+ if (styleBlock.styleSheet){
392
+ styleBlock.styleSheet.cssText = cssrule;
393
+ }
394
+ else {
395
+ styleBlock.appendChild(document.createTextNode(cssrule));
396
+ }
397
+
398
+ $html.prepend( fakeBody ).prepend( styleBlock );
399
+ cache[ query ] = testDiv.css( "position" ) === "absolute";
400
+ fakeBody.add( styleBlock ).remove();
401
+ }
402
+ return cache[ query ];
403
+ };
404
+ })();
405
+
406
+
407
+ ok(Modernizr.mq,'Modernizr.mq() doesn\' freak out.');
408
+
409
+ equal($.mobile.media('only screen'), Modernizr.mq('only screen'),'screen media query matches jQuery mobile\'s result');
410
+
411
+ equal(Modernizr.mq('only all'), Modernizr.mq('only all'), 'Cache hit matches');
412
+
413
+
414
+ });
415
+
416
+
417
+
418
+
419
+ test('Modernizr.hasEvent()',function(){
420
+
421
+ ok(typeof Modernizr.hasEvent == 'function','Modernizr.hasEvent() is a function');
422
+
423
+
424
+ equal(Modernizr.hasEvent('click'), true,'click event is supported');
425
+
426
+ equal(Modernizr.hasEvent('modernizrcustomevent'), false,'random event is definitely not supported');
427
+
428
+ /* works fine in webkit but not gecko
429
+ equal( Modernizr.hasEvent('resize', window),
430
+ !Modernizr.hasEvent('resize', document.createElement('div')),
431
+ 'Resize is supported in window but not a div, typically...');
432
+ */
433
+
434
+ });
435
+
436
+
437
+
438
+
439
+
440
+ test('Modernizr.testStyles()',function(){
441
+
442
+ equal(typeof Modernizr.testStyles, 'function','Modernizr.testStyles() is a function');
443
+
444
+ var style = '#modernizr{ width: 9px; height: 4px; font-size: 0; color: papayawhip; }';
445
+
446
+ Modernizr.testStyles(style, function(elem, rule){
447
+ equal(style, rule, 'rule passsed back matches what i gave it.')
448
+ equal(elem.offsetWidth, 9, 'width was set through the style');
449
+ equal(elem.offsetHeight, 4, 'height was set through the style');
450
+ equal(elem.id, 'modernizr', 'element is indeed the modernizr element');
451
+ });
452
+
453
+ });
454
+
455
+
456
+ test('Modernizr._[properties]',function(){
457
+
458
+ equal(6, Modernizr._prefixes.length, 'Modernizr._prefixes has 6 items');
459
+
460
+ equal(4, Modernizr._domPrefixes.length, 'Modernizr.domPrefixes has 4 items');
461
+
462
+ });
463
+
464
+ test('Modernizr.testProp()',function(){
465
+
466
+ equal(true, Modernizr.testProp('margin'), 'Everyone supports margin');
467
+
468
+ equal(false, Modernizr.testProp('happiness'), 'Nobody supports the happiness style. :(');
469
+ equal(true, Modernizr.testProp('fontSize'), 'Everyone supports fontSize');
470
+ equal(false, Modernizr.testProp('font-size'), 'Nobody supports font-size');
471
+
472
+ equal('pointerEvents' in document.createElement('div').style,
473
+ Modernizr.testProp('pointerEvents'),
474
+ 'results for `pointer-events` are consistent with a homegrown feature test');
475
+
476
+ });
477
+
478
+
479
+
480
+ test('Modernizr.testAllProps()',function(){
481
+
482
+ equal(true, Modernizr.testAllProps('margin'), 'Everyone supports margin');
483
+
484
+ equal(false, Modernizr.testAllProps('happiness'), 'Nobody supports the happiness style. :(');
485
+ equal(true, Modernizr.testAllProps('fontSize'), 'Everyone supports fontSize');
486
+ equal(false, Modernizr.testAllProps('font-size'), 'Nobody supports font-size');
487
+
488
+ equal(Modernizr.csstransitions, Modernizr.testAllProps('transition'), 'Modernizr result matches API result: csstransitions');
489
+
490
+ equal(Modernizr.csscolumns, Modernizr.testAllProps('columnCount'), 'Modernizr result matches API result: csscolumns')
491
+
492
+ });
493
+
494
+
495
+
496
+
497
+
498
+
499
+ test('Modernizr.prefixed() - css and DOM resolving', function(){
500
+ // https://gist.github.com/523692
501
+
502
+ function gimmePrefix(prop, obj){
503
+ var prefixes = ['Moz','Khtml','Webkit','O','ms'],
504
+ domPrefixes = ['moz','khtml','webkit','o','ms'],
505
+ elem = document.createElement('div'),
506
+ upper = prop.charAt(0).toUpperCase() + prop.slice(1);
507
+
508
+ if(!obj) {
509
+ if (prop in elem.style)
510
+ return prop;
511
+
512
+ for (var len = prefixes.length; len--; ){
513
+ if ((prefixes[len] + upper) in elem.style)
514
+ return (prefixes[len] + upper);
515
+ }
516
+ } else {
517
+ if (prop in obj)
518
+ return prop;
519
+
520
+ for (var len = domPrefixes.length; len--; ){
521
+ if ((domPrefixes[len] + upper) in obj)
522
+ return (domPrefixes[len] + upper);
523
+ }
524
+ }
525
+
526
+
527
+ return false;
528
+ }
529
+
530
+ var propArr = ['transition', 'backgroundSize', 'boxSizing', 'borderImage',
531
+ 'borderRadius', 'boxShadow', 'columnCount'];
532
+
533
+ var domPropArr = [{ 'prop': 'requestAnimationFrame', 'obj': window },
534
+ { 'prop': 'querySelectorAll', 'obj': document },
535
+ { 'prop': 'matchesSelector', 'obj': document.createElement('div') }];
536
+
537
+ for (var i = -1, len = propArr.length; ++i < len; ){
538
+ var prop = propArr[i];
539
+ equal(Modernizr.prefixed(prop), gimmePrefix(prop), 'results for ' + prop + ' match the homebaked prefix finder');
540
+ }
541
+
542
+ for (var i = -1, len = domPropArr.length; ++i < len; ){
543
+ var prop = domPropArr[i];
544
+ ok(!!~Modernizr.prefixed(prop.prop, prop.obj, false).toString().indexOf(gimmePrefix(prop.prop, prop.obj)), 'results for ' + prop.prop + ' match the homebaked prefix finder');
545
+ }
546
+
547
+
548
+
549
+
550
+ });
551
+
552
+
553
+ // FIXME: so a few of these are whitelisting for webkit. i'd like to improve that.
554
+ test('Modernizr.prefixed autobind', function(){
555
+
556
+ var rAFName;
557
+
558
+ // quick sniff to find the local rAF prefixed name.
559
+ var vendors = ['ms', 'moz', 'webkit', 'o'];
560
+ for(var x = 0; x < vendors.length && !rAFName; ++x) {
561
+ rAFName = window[vendors[x]+'RequestAnimationFrame'] && vendors[x]+'RequestAnimationFrame';
562
+ }
563
+
564
+ if (rAFName){
565
+ // rAF returns a function
566
+ equal(
567
+ 'function',
568
+ typeof Modernizr.prefixed('requestAnimationFrame', window),
569
+ "Modernizr.prefixed('requestAnimationFrame', window) returns a function")
570
+
571
+ // unless we false it to a string
572
+ equal(
573
+ rAFName,
574
+ Modernizr.prefixed('requestAnimationFrame', window, false),
575
+ "Modernizr.prefixed('requestAnimationFrame', window, false) returns a string (the prop name)")
576
+
577
+ }
578
+
579
+ if (document.body.webkitMatchesSelector || document.body.mozMatchesSelector){
580
+
581
+ var fn = Modernizr.prefixed('matchesSelector', HTMLElement.prototype, document.body);
582
+
583
+ //returns function
584
+ equal(
585
+ 'function',
586
+ typeof fn,
587
+ "Modernizr.prefixed('matchesSelector', HTMLElement.prototype, document.body) returns a function");
588
+
589
+ // fn scoping
590
+ equal(
591
+ true,
592
+ fn('body'),
593
+ "Modernizr.prefixed('matchesSelector', HTMLElement.prototype, document.body) is scoped to the body")
594
+
595
+ }
596
+
597
+ // Webkit only: are there other objects that are prefixed?
598
+ if (window.webkitNotifications){
599
+ // should be an object.
600
+
601
+ equal(
602
+ 'object',
603
+ typeof Modernizr.prefixed('Notifications', window),
604
+ "Modernizr.prefixed('Notifications') returns an object");
605
+
606
+ }
607
+
608
+ // Webkit only:
609
+ if (typeof document.webkitIsFullScreen !== 'undefined'){
610
+ // boolean
611
+
612
+ equal(
613
+ 'boolean',
614
+ typeof Modernizr.prefixed('isFullScreen', document),
615
+ "Modernizr.prefixed('isFullScreen') returns a boolean");
616
+ }
617
+
618
+
619
+
620
+ // Moz only:
621
+ if (typeof document.mozFullScreen !== 'undefined'){
622
+ // boolean
623
+
624
+ equal(
625
+ 'boolean',
626
+ typeof Modernizr.prefixed('fullScreen', document),
627
+ "Modernizr.prefixed('fullScreen') returns a boolean");
628
+ }
629
+
630
+
631
+ // Webkit-only.. takes advantage of Webkit's mixed case of prefixes
632
+ if (document.body.style.WebkitAnimation){
633
+ // string
634
+
635
+ equal(
636
+ 'string',
637
+ typeof Modernizr.prefixed('animation', document.body.style),
638
+ "Modernizr.prefixed('animation', document.body.style) returns value of that, as a string");
639
+
640
+ equal(
641
+ animationStyle.toLowerCase(),
642
+ Modernizr.prefixed('animation', document.body.style, false).toLowerCase(),
643
+ "Modernizr.prefixed('animation', document.body.style, false) returns the (case-normalized) name of the property: webkitanimation");
644
+
645
+ }
646
+
647
+ equal(
648
+ false,
649
+ Modernizr.prefixed('doSomethingAmazing$#$', window),
650
+ "Modernizr.prefixed('doSomethingAmazing$#$', window) : Gobbledygook with prefixed(str,obj) returns false");
651
+
652
+ equal(
653
+ false,
654
+ Modernizr.prefixed('doSomethingAmazing$#$', window, document.body),
655
+ "Modernizr.prefixed('doSomethingAmazing$#$', window) : Gobbledygook with prefixed(str,obj, scope) returns false");
656
+
657
+
658
+ equal(
659
+ false,
660
+ Modernizr.prefixed('doSomethingAmazing$#$', window, false),
661
+ "Modernizr.prefixed('doSomethingAmazing$#$', window) : Gobbledygook with prefixed(str,obj, false) returns false");
662
+
663
+
664
+ });
665
+
666
+
667
+
668
+
669
+