bootstrap_it 0.1.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 (289) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +5 -0
  5. data/Gemfile +9 -0
  6. data/README.md +582 -0
  7. data/Rakefile +6 -0
  8. data/bootstrap_it.gemspec +33 -0
  9. data/config.ru +7 -0
  10. data/lib/bootstrap_it.rb +9 -0
  11. data/lib/bootstrap_it/assets.rb +67 -0
  12. data/lib/bootstrap_it/config.rb +50 -0
  13. data/lib/bootstrap_it/engine.rb +25 -0
  14. data/lib/bootstrap_it/locales/en.yml +4 -0
  15. data/lib/bootstrap_it/locales/ru.yml +4 -0
  16. data/lib/bootstrap_it/version.rb +6 -0
  17. data/lib/bootstrap_it/view_helpers.rb +55 -0
  18. data/lib/bootstrap_it/view_helpers/breadcrumb.rb +19 -0
  19. data/lib/bootstrap_it/view_helpers/button.rb +116 -0
  20. data/lib/bootstrap_it/view_helpers/button_group.rb +32 -0
  21. data/lib/bootstrap_it/view_helpers/button_toolbar.rb +21 -0
  22. data/lib/bootstrap_it/view_helpers/dropdown_menu.rb +30 -0
  23. data/lib/bootstrap_it/view_helpers/form.rb +127 -0
  24. data/lib/bootstrap_it/view_helpers/grid.rb +75 -0
  25. data/lib/bootstrap_it/view_helpers/icon.rb +24 -0
  26. data/lib/bootstrap_it/view_helpers/list.rb +47 -0
  27. data/lib/bootstrap_it/view_helpers/misc.rb +144 -0
  28. data/lib/bootstrap_it/view_helpers/mixin.rb +279 -0
  29. data/lib/bootstrap_it/view_helpers/nav.rb +96 -0
  30. data/lib/bootstrap_it/view_helpers/pagination.rb +34 -0
  31. data/lib/bootstrap_it/view_helpers/table.rb +72 -0
  32. data/lib/bootstrap_it/view_helpers/text.rb +46 -0
  33. data/spec/assets/assets_spec.rb +51 -0
  34. data/spec/internal/app/assets/javascript/application.js +7 -0
  35. data/spec/internal/app/assets/javascript/user.js +1 -0
  36. data/spec/internal/app/assets/javascript/userfont.eot +0 -0
  37. data/spec/internal/app/assets/stylesheets/application.css +6 -0
  38. data/spec/internal/app/assets/stylesheets/user.css +1 -0
  39. data/spec/internal/config/database.yml +3 -0
  40. data/spec/internal/config/routes.rb +3 -0
  41. data/spec/internal/db/schema.rb +3 -0
  42. data/spec/internal/log/.gitignore +1 -0
  43. data/spec/internal/public/favicon.ico +0 -0
  44. data/spec/lib/config_spec.rb +10 -0
  45. data/spec/lib/view_helpers_spec.rb +12 -0
  46. data/spec/spec_helper.rb +37 -0
  47. data/spec/support/example_groups/assets_example_group.rb +84 -0
  48. data/spec/support/example_groups/view_helpers_example_group.rb +124 -0
  49. data/spec/view_helpers/breadcrumb_spec.rb +12 -0
  50. data/spec/view_helpers/button_group_spec.rb +40 -0
  51. data/spec/view_helpers/button_spec.rb +169 -0
  52. data/spec/view_helpers/button_toolbar_spec.rb +14 -0
  53. data/spec/view_helpers/dropdown_menu_spec.rb +41 -0
  54. data/spec/view_helpers/form_spec.rb +27 -0
  55. data/spec/view_helpers/grid_spec.rb +47 -0
  56. data/spec/view_helpers/icon_spec.rb +6 -0
  57. data/spec/view_helpers/list_spec.rb +50 -0
  58. data/spec/view_helpers/misc_spec.rb +117 -0
  59. data/spec/view_helpers/mixin_spec.rb +177 -0
  60. data/spec/view_helpers/nav_spec.rb +63 -0
  61. data/spec/view_helpers/pagination_spec.rb +36 -0
  62. data/spec/view_helpers/table_spec.rb +59 -0
  63. data/spec/view_helpers/text_spec.rb +13 -0
  64. data/spec/views/examples_spec.rb +250 -0
  65. data/upstream/bootstrap-3.0.3-dist.zip +0 -0
  66. data/upstream/bootstrap/3.0.3/fonts/glyphicons-halflings-regular.eot +0 -0
  67. data/upstream/bootstrap/3.0.3/fonts/glyphicons-halflings-regular.svg +229 -0
  68. data/upstream/bootstrap/3.0.3/fonts/glyphicons-halflings-regular.ttf +0 -0
  69. data/upstream/bootstrap/3.0.3/fonts/glyphicons-halflings-regular.woff +0 -0
  70. data/upstream/bootstrap/3.0.3/javascript/bootstrap.js +2006 -0
  71. data/upstream/bootstrap/3.0.3/javascript/bootstrap.min.js +7 -0
  72. data/upstream/bootstrap/3.0.3/src/.editorconfig +11 -0
  73. data/upstream/bootstrap/3.0.3/src/.gitattributes +8 -0
  74. data/upstream/bootstrap/3.0.3/src/.gitignore +42 -0
  75. data/upstream/bootstrap/3.0.3/src/.travis.yml +10 -0
  76. data/upstream/bootstrap/3.0.3/src/CNAME +1 -0
  77. data/upstream/bootstrap/3.0.3/src/CONTRIBUTING.md +79 -0
  78. data/upstream/bootstrap/3.0.3/src/DOCS-LICENSE +319 -0
  79. data/upstream/bootstrap/3.0.3/src/Gruntfile.js +337 -0
  80. data/upstream/bootstrap/3.0.3/src/LICENSE +176 -0
  81. data/upstream/bootstrap/3.0.3/src/LICENSE-MIT +21 -0
  82. data/upstream/bootstrap/3.0.3/src/README.md +166 -0
  83. data/upstream/bootstrap/3.0.3/src/_config.yml +25 -0
  84. data/upstream/bootstrap/3.0.3/src/_includes/ads.html +1 -0
  85. data/upstream/bootstrap/3.0.3/src/_includes/footer.html +48 -0
  86. data/upstream/bootstrap/3.0.3/src/_includes/header.html +42 -0
  87. data/upstream/bootstrap/3.0.3/src/_includes/nav-about.html +12 -0
  88. data/upstream/bootstrap/3.0.3/src/_includes/nav-components.html +137 -0
  89. data/upstream/bootstrap/3.0.3/src/_includes/nav-css.html +99 -0
  90. data/upstream/bootstrap/3.0.3/src/_includes/nav-customize.html +40 -0
  91. data/upstream/bootstrap/3.0.3/src/_includes/nav-getting-started.html +48 -0
  92. data/upstream/bootstrap/3.0.3/src/_includes/nav-javascript.html +88 -0
  93. data/upstream/bootstrap/3.0.3/src/_includes/nav-main.html +37 -0
  94. data/upstream/bootstrap/3.0.3/src/_includes/old-bs-docs.html +8 -0
  95. data/upstream/bootstrap/3.0.3/src/_includes/social-buttons.html +16 -0
  96. data/upstream/bootstrap/3.0.3/src/_layouts/default.html +79 -0
  97. data/upstream/bootstrap/3.0.3/src/_layouts/home.html +47 -0
  98. data/upstream/bootstrap/3.0.3/src/about.html +94 -0
  99. data/upstream/bootstrap/3.0.3/src/bower.json +30 -0
  100. data/upstream/bootstrap/3.0.3/src/components.html +3714 -0
  101. data/upstream/bootstrap/3.0.3/src/composer.json +25 -0
  102. data/upstream/bootstrap/3.0.3/src/css.html +2673 -0
  103. data/upstream/bootstrap/3.0.3/src/customize.html +1715 -0
  104. data/upstream/bootstrap/3.0.3/src/dist/css/bootstrap-theme.css +397 -0
  105. data/upstream/bootstrap/3.0.3/src/dist/css/bootstrap-theme.min.css +7 -0
  106. data/upstream/bootstrap/3.0.3/src/dist/css/bootstrap.css +7118 -0
  107. data/upstream/bootstrap/3.0.3/src/dist/css/bootstrap.min.css +7 -0
  108. data/upstream/bootstrap/3.0.3/src/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  109. data/upstream/bootstrap/3.0.3/src/dist/fonts/glyphicons-halflings-regular.svg +229 -0
  110. data/upstream/bootstrap/3.0.3/src/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  111. data/upstream/bootstrap/3.0.3/src/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  112. data/upstream/bootstrap/3.0.3/src/dist/js/bootstrap.js +2006 -0
  113. data/upstream/bootstrap/3.0.3/src/dist/js/bootstrap.min.js +7 -0
  114. data/upstream/bootstrap/3.0.3/src/docs-assets/css/docs.css +1196 -0
  115. data/upstream/bootstrap/3.0.3/src/docs-assets/css/pygments-manni.css +66 -0
  116. data/upstream/bootstrap/3.0.3/src/docs-assets/ico/apple-touch-icon-144-precomposed.png +0 -0
  117. data/upstream/bootstrap/3.0.3/src/docs-assets/ico/favicon.png +0 -0
  118. data/upstream/bootstrap/3.0.3/src/docs-assets/js/application.js +103 -0
  119. data/upstream/bootstrap/3.0.3/src/docs-assets/js/customizer.js +332 -0
  120. data/upstream/bootstrap/3.0.3/src/docs-assets/js/filesaver.js +399 -0
  121. data/upstream/bootstrap/3.0.3/src/docs-assets/js/holder.js +500 -0
  122. data/upstream/bootstrap/3.0.3/src/docs-assets/js/ie8-responsive-file-warning.js +12 -0
  123. data/upstream/bootstrap/3.0.3/src/docs-assets/js/jszip.js +1474 -0
  124. data/upstream/bootstrap/3.0.3/src/docs-assets/js/less.js +9 -0
  125. data/upstream/bootstrap/3.0.3/src/docs-assets/js/raw-files.js +3 -0
  126. data/upstream/bootstrap/3.0.3/src/docs-assets/js/uglify.js +14 -0
  127. data/upstream/bootstrap/3.0.3/src/examples/carousel/carousel.css +148 -0
  128. data/upstream/bootstrap/3.0.3/src/examples/carousel/index.html +206 -0
  129. data/upstream/bootstrap/3.0.3/src/examples/grid/grid.css +28 -0
  130. data/upstream/bootstrap/3.0.3/src/examples/grid/index.html +148 -0
  131. data/upstream/bootstrap/3.0.3/src/examples/jumbotron-narrow/index.html +82 -0
  132. data/upstream/bootstrap/3.0.3/src/examples/jumbotron-narrow/jumbotron-narrow.css +79 -0
  133. data/upstream/bootstrap/3.0.3/src/examples/jumbotron/index.html +99 -0
  134. data/upstream/bootstrap/3.0.3/src/examples/jumbotron/jumbotron.css +5 -0
  135. data/upstream/bootstrap/3.0.3/src/examples/justified-nav/index.html +84 -0
  136. data/upstream/bootstrap/3.0.3/src/examples/justified-nav/justified-nav.css +88 -0
  137. data/upstream/bootstrap/3.0.3/src/examples/navbar-fixed-top/index.html +91 -0
  138. data/upstream/bootstrap/3.0.3/src/examples/navbar-fixed-top/navbar-fixed-top.css +4 -0
  139. data/upstream/bootstrap/3.0.3/src/examples/navbar-static-top/index.html +92 -0
  140. data/upstream/bootstrap/3.0.3/src/examples/navbar-static-top/navbar-static-top.css +7 -0
  141. data/upstream/bootstrap/3.0.3/src/examples/navbar/index.html +88 -0
  142. data/upstream/bootstrap/3.0.3/src/examples/navbar/navbar.css +8 -0
  143. data/upstream/bootstrap/3.0.3/src/examples/non-responsive/index.html +101 -0
  144. data/upstream/bootstrap/3.0.3/src/examples/non-responsive/non-responsive.css +120 -0
  145. data/upstream/bootstrap/3.0.3/src/examples/offcanvas/index.html +130 -0
  146. data/upstream/bootstrap/3.0.3/src/examples/offcanvas/offcanvas.css +51 -0
  147. data/upstream/bootstrap/3.0.3/src/examples/offcanvas/offcanvas.js +5 -0
  148. data/upstream/bootstrap/3.0.3/src/examples/screenshots/carousel.jpg +0 -0
  149. data/upstream/bootstrap/3.0.3/src/examples/screenshots/grid.jpg +0 -0
  150. data/upstream/bootstrap/3.0.3/src/examples/screenshots/jumbotron-narrow.jpg +0 -0
  151. data/upstream/bootstrap/3.0.3/src/examples/screenshots/jumbotron.jpg +0 -0
  152. data/upstream/bootstrap/3.0.3/src/examples/screenshots/justified-nav.jpg +0 -0
  153. data/upstream/bootstrap/3.0.3/src/examples/screenshots/navbar-fixed.jpg +0 -0
  154. data/upstream/bootstrap/3.0.3/src/examples/screenshots/navbar-static.jpg +0 -0
  155. data/upstream/bootstrap/3.0.3/src/examples/screenshots/navbar.jpg +0 -0
  156. data/upstream/bootstrap/3.0.3/src/examples/screenshots/non-responsive.jpg +0 -0
  157. data/upstream/bootstrap/3.0.3/src/examples/screenshots/offcanvas.jpg +0 -0
  158. data/upstream/bootstrap/3.0.3/src/examples/screenshots/sign-in.jpg +0 -0
  159. data/upstream/bootstrap/3.0.3/src/examples/screenshots/starter-template.jpg +0 -0
  160. data/upstream/bootstrap/3.0.3/src/examples/screenshots/sticky-footer-navbar.jpg +0 -0
  161. data/upstream/bootstrap/3.0.3/src/examples/screenshots/sticky-footer.jpg +0 -0
  162. data/upstream/bootstrap/3.0.3/src/examples/screenshots/theme.jpg +0 -0
  163. data/upstream/bootstrap/3.0.3/src/examples/signin/index.html +50 -0
  164. data/upstream/bootstrap/3.0.3/src/examples/signin/signin.css +40 -0
  165. data/upstream/bootstrap/3.0.3/src/examples/starter-template/index.html +68 -0
  166. data/upstream/bootstrap/3.0.3/src/examples/starter-template/starter-template.css +7 -0
  167. data/upstream/bootstrap/3.0.3/src/examples/sticky-footer-navbar/index.html +91 -0
  168. data/upstream/bootstrap/3.0.3/src/examples/sticky-footer-navbar/sticky-footer-navbar.css +45 -0
  169. data/upstream/bootstrap/3.0.3/src/examples/sticky-footer/index.html +55 -0
  170. data/upstream/bootstrap/3.0.3/src/examples/sticky-footer/sticky-footer.css +38 -0
  171. data/upstream/bootstrap/3.0.3/src/examples/theme/index.html +384 -0
  172. data/upstream/bootstrap/3.0.3/src/examples/theme/theme.css +14 -0
  173. data/upstream/bootstrap/3.0.3/src/fonts/glyphicons-halflings-regular.eot +0 -0
  174. data/upstream/bootstrap/3.0.3/src/fonts/glyphicons-halflings-regular.svg +229 -0
  175. data/upstream/bootstrap/3.0.3/src/fonts/glyphicons-halflings-regular.ttf +0 -0
  176. data/upstream/bootstrap/3.0.3/src/fonts/glyphicons-halflings-regular.woff +0 -0
  177. data/upstream/bootstrap/3.0.3/src/getting-started.html +1057 -0
  178. data/upstream/bootstrap/3.0.3/src/index.html +16 -0
  179. data/upstream/bootstrap/3.0.3/src/javascript.html +1995 -0
  180. data/upstream/bootstrap/3.0.3/src/js/.jshintrc +14 -0
  181. data/upstream/bootstrap/3.0.3/src/js/affix.js +126 -0
  182. data/upstream/bootstrap/3.0.3/src/js/alert.js +98 -0
  183. data/upstream/bootstrap/3.0.3/src/js/button.js +115 -0
  184. data/upstream/bootstrap/3.0.3/src/js/carousel.js +217 -0
  185. data/upstream/bootstrap/3.0.3/src/js/collapse.js +179 -0
  186. data/upstream/bootstrap/3.0.3/src/js/dropdown.js +154 -0
  187. data/upstream/bootstrap/3.0.3/src/js/modal.js +246 -0
  188. data/upstream/bootstrap/3.0.3/src/js/popover.js +117 -0
  189. data/upstream/bootstrap/3.0.3/src/js/scrollspy.js +158 -0
  190. data/upstream/bootstrap/3.0.3/src/js/tab.js +135 -0
  191. data/upstream/bootstrap/3.0.3/src/js/tests/index.html +52 -0
  192. data/upstream/bootstrap/3.0.3/src/js/tests/unit/affix.js +25 -0
  193. data/upstream/bootstrap/3.0.3/src/js/tests/unit/alert.js +62 -0
  194. data/upstream/bootstrap/3.0.3/src/js/tests/unit/button.js +122 -0
  195. data/upstream/bootstrap/3.0.3/src/js/tests/unit/carousel.js +87 -0
  196. data/upstream/bootstrap/3.0.3/src/js/tests/unit/collapse.js +164 -0
  197. data/upstream/bootstrap/3.0.3/src/js/tests/unit/dropdown.js +219 -0
  198. data/upstream/bootstrap/3.0.3/src/js/tests/unit/modal.js +196 -0
  199. data/upstream/bootstrap/3.0.3/src/js/tests/unit/phantom.js +69 -0
  200. data/upstream/bootstrap/3.0.3/src/js/tests/unit/popover.js +133 -0
  201. data/upstream/bootstrap/3.0.3/src/js/tests/unit/scrollspy.js +37 -0
  202. data/upstream/bootstrap/3.0.3/src/js/tests/unit/tab.js +86 -0
  203. data/upstream/bootstrap/3.0.3/src/js/tests/unit/tooltip.js +437 -0
  204. data/upstream/bootstrap/3.0.3/src/js/tests/unit/transition.js +13 -0
  205. data/upstream/bootstrap/3.0.3/src/js/tests/vendor/jquery.js +6 -0
  206. data/upstream/bootstrap/3.0.3/src/js/tests/vendor/qunit.css +232 -0
  207. data/upstream/bootstrap/3.0.3/src/js/tests/vendor/qunit.js +1510 -0
  208. data/upstream/bootstrap/3.0.3/src/js/tooltip.js +386 -0
  209. data/upstream/bootstrap/3.0.3/src/js/transition.js +56 -0
  210. data/upstream/bootstrap/3.0.3/src/less/alerts.less +67 -0
  211. data/upstream/bootstrap/3.0.3/src/less/badges.less +51 -0
  212. data/upstream/bootstrap/3.0.3/src/less/bootstrap.less +49 -0
  213. data/upstream/bootstrap/3.0.3/src/less/breadcrumbs.less +23 -0
  214. data/upstream/bootstrap/3.0.3/src/less/button-groups.less +227 -0
  215. data/upstream/bootstrap/3.0.3/src/less/buttons.less +155 -0
  216. data/upstream/bootstrap/3.0.3/src/less/carousel.less +232 -0
  217. data/upstream/bootstrap/3.0.3/src/less/close.less +33 -0
  218. data/upstream/bootstrap/3.0.3/src/less/code.less +53 -0
  219. data/upstream/bootstrap/3.0.3/src/less/component-animations.less +29 -0
  220. data/upstream/bootstrap/3.0.3/src/less/dropdowns.less +187 -0
  221. data/upstream/bootstrap/3.0.3/src/less/forms.less +375 -0
  222. data/upstream/bootstrap/3.0.3/src/less/glyphicons.less +237 -0
  223. data/upstream/bootstrap/3.0.3/src/less/grid.less +79 -0
  224. data/upstream/bootstrap/3.0.3/src/less/input-groups.less +136 -0
  225. data/upstream/bootstrap/3.0.3/src/less/jumbotron.less +46 -0
  226. data/upstream/bootstrap/3.0.3/src/less/labels.less +64 -0
  227. data/upstream/bootstrap/3.0.3/src/less/list-group.less +88 -0
  228. data/upstream/bootstrap/3.0.3/src/less/media.less +56 -0
  229. data/upstream/bootstrap/3.0.3/src/less/mixins.less +845 -0
  230. data/upstream/bootstrap/3.0.3/src/less/modals.less +129 -0
  231. data/upstream/bootstrap/3.0.3/src/less/navbar.less +612 -0
  232. data/upstream/bootstrap/3.0.3/src/less/navs.less +242 -0
  233. data/upstream/bootstrap/3.0.3/src/less/normalize.less +406 -0
  234. data/upstream/bootstrap/3.0.3/src/less/pager.less +55 -0
  235. data/upstream/bootstrap/3.0.3/src/less/pagination.less +85 -0
  236. data/upstream/bootstrap/3.0.3/src/less/panels.less +182 -0
  237. data/upstream/bootstrap/3.0.3/src/less/popovers.less +133 -0
  238. data/upstream/bootstrap/3.0.3/src/less/print.less +105 -0
  239. data/upstream/bootstrap/3.0.3/src/less/progress-bars.less +80 -0
  240. data/upstream/bootstrap/3.0.3/src/less/responsive-utilities.less +209 -0
  241. data/upstream/bootstrap/3.0.3/src/less/scaffolding.less +119 -0
  242. data/upstream/bootstrap/3.0.3/src/less/tables.less +231 -0
  243. data/upstream/bootstrap/3.0.3/src/less/theme.less +247 -0
  244. data/upstream/bootstrap/3.0.3/src/less/thumbnails.less +36 -0
  245. data/upstream/bootstrap/3.0.3/src/less/tooltip.less +95 -0
  246. data/upstream/bootstrap/3.0.3/src/less/type.less +281 -0
  247. data/upstream/bootstrap/3.0.3/src/less/utilities.less +56 -0
  248. data/upstream/bootstrap/3.0.3/src/less/variables.less +642 -0
  249. data/upstream/bootstrap/3.0.3/src/less/wells.less +29 -0
  250. data/upstream/bootstrap/3.0.3/src/package.json +51 -0
  251. data/upstream/bootstrap/3.0.3/stylesheets/bootstrap-theme.css +397 -0
  252. data/upstream/bootstrap/3.0.3/stylesheets/bootstrap-theme.min.css +7 -0
  253. data/upstream/bootstrap/3.0.3/stylesheets/bootstrap.css +7118 -0
  254. data/upstream/bootstrap/3.0.3/stylesheets/bootstrap.min.css +7 -0
  255. data/upstream/font-awesome-4.0.3.zip +0 -0
  256. data/upstream/font-awesome/4.0.3/fonts/FontAwesome.otf +0 -0
  257. data/upstream/font-awesome/4.0.3/fonts/fontawesome-webfont.eot +0 -0
  258. data/upstream/font-awesome/4.0.3/fonts/fontawesome-webfont.svg +414 -0
  259. data/upstream/font-awesome/4.0.3/fonts/fontawesome-webfont.ttf +0 -0
  260. data/upstream/font-awesome/4.0.3/fonts/fontawesome-webfont.woff +0 -0
  261. data/upstream/font-awesome/4.0.3/stylesheets/font-awesome.css +1338 -0
  262. data/upstream/font-awesome/4.0.3/stylesheets/font-awesome.min.css +4 -0
  263. data/upstream/font-awesome/4.0.3/stylesheets/less/bordered-pulled.less +16 -0
  264. data/upstream/font-awesome/4.0.3/stylesheets/less/core.less +12 -0
  265. data/upstream/font-awesome/4.0.3/stylesheets/less/fixed-width.less +6 -0
  266. data/upstream/font-awesome/4.0.3/stylesheets/less/font-awesome.less +17 -0
  267. data/upstream/font-awesome/4.0.3/stylesheets/less/icons.less +412 -0
  268. data/upstream/font-awesome/4.0.3/stylesheets/less/larger.less +13 -0
  269. data/upstream/font-awesome/4.0.3/stylesheets/less/list.less +19 -0
  270. data/upstream/font-awesome/4.0.3/stylesheets/less/mixins.less +20 -0
  271. data/upstream/font-awesome/4.0.3/stylesheets/less/path.less +14 -0
  272. data/upstream/font-awesome/4.0.3/stylesheets/less/rotated-flipped.less +9 -0
  273. data/upstream/font-awesome/4.0.3/stylesheets/less/spinning.less +30 -0
  274. data/upstream/font-awesome/4.0.3/stylesheets/less/stacked.less +20 -0
  275. data/upstream/font-awesome/4.0.3/stylesheets/less/variables.less +381 -0
  276. data/upstream/font-awesome/4.0.3/stylesheets/scss/_bordered-pulled.scss +16 -0
  277. data/upstream/font-awesome/4.0.3/stylesheets/scss/_core.scss +12 -0
  278. data/upstream/font-awesome/4.0.3/stylesheets/scss/_fixed-width.scss +6 -0
  279. data/upstream/font-awesome/4.0.3/stylesheets/scss/_icons.scss +412 -0
  280. data/upstream/font-awesome/4.0.3/stylesheets/scss/_larger.scss +13 -0
  281. data/upstream/font-awesome/4.0.3/stylesheets/scss/_list.scss +19 -0
  282. data/upstream/font-awesome/4.0.3/stylesheets/scss/_mixins.scss +20 -0
  283. data/upstream/font-awesome/4.0.3/stylesheets/scss/_path.scss +14 -0
  284. data/upstream/font-awesome/4.0.3/stylesheets/scss/_rotated-flipped.scss +9 -0
  285. data/upstream/font-awesome/4.0.3/stylesheets/scss/_spinning.scss +30 -0
  286. data/upstream/font-awesome/4.0.3/stylesheets/scss/_stacked.scss +20 -0
  287. data/upstream/font-awesome/4.0.3/stylesheets/scss/_variables.scss +381 -0
  288. data/upstream/font-awesome/4.0.3/stylesheets/scss/font-awesome.scss +17 -0
  289. metadata +505 -0
@@ -0,0 +1,219 @@
1
+ $(function () {
2
+
3
+ module("dropdowns")
4
+
5
+ test("should provide no conflict", function () {
6
+ var dropdown = $.fn.dropdown.noConflict()
7
+ ok(!$.fn.dropdown, 'dropdown was set back to undefined (org value)')
8
+ $.fn.dropdown = dropdown
9
+ })
10
+
11
+ test("should be defined on jquery object", function () {
12
+ ok($(document.body).dropdown, 'dropdown method is defined')
13
+ })
14
+
15
+ test("should return element", function () {
16
+ var el = $("<div />")
17
+ ok(el.dropdown()[0] === el[0], 'same element returned')
18
+ })
19
+
20
+ test("should not open dropdown if target is disabled", function () {
21
+ var dropdownHTML = '<ul class="tabs">'
22
+ + '<li class="dropdown">'
23
+ + '<button disabled href="#" class="btn dropdown-toggle" data-toggle="dropdown">Dropdown</button>'
24
+ + '<ul class="dropdown-menu">'
25
+ + '<li><a href="#">Secondary link</a></li>'
26
+ + '<li><a href="#">Something else here</a></li>'
27
+ + '<li class="divider"></li>'
28
+ + '<li><a href="#">Another link</a></li>'
29
+ + '</ul>'
30
+ + '</li>'
31
+ + '</ul>'
32
+ , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
33
+
34
+ ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
35
+ })
36
+
37
+ test("should not open dropdown if target is disabled", function () {
38
+ var dropdownHTML = '<ul class="tabs">'
39
+ + '<li class="dropdown">'
40
+ + '<button href="#" class="btn dropdown-toggle disabled" data-toggle="dropdown">Dropdown</button>'
41
+ + '<ul class="dropdown-menu">'
42
+ + '<li><a href="#">Secondary link</a></li>'
43
+ + '<li><a href="#">Something else here</a></li>'
44
+ + '<li class="divider"></li>'
45
+ + '<li><a href="#">Another link</a></li>'
46
+ + '</ul>'
47
+ + '</li>'
48
+ + '</ul>'
49
+ , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
50
+
51
+ ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
52
+ })
53
+
54
+ test("should add class open to menu if clicked", function () {
55
+ var dropdownHTML = '<ul class="tabs">'
56
+ + '<li class="dropdown">'
57
+ + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
58
+ + '<ul class="dropdown-menu">'
59
+ + '<li><a href="#">Secondary link</a></li>'
60
+ + '<li><a href="#">Something else here</a></li>'
61
+ + '<li class="divider"></li>'
62
+ + '<li><a href="#">Another link</a></li>'
63
+ + '</ul>'
64
+ + '</li>'
65
+ + '</ul>'
66
+ , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
67
+
68
+ ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
69
+ })
70
+
71
+ test("should test if element has a # before assuming it's a selector", function () {
72
+ var dropdownHTML = '<ul class="tabs">'
73
+ + '<li class="dropdown">'
74
+ + '<a href="/foo/" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
75
+ + '<ul class="dropdown-menu">'
76
+ + '<li><a href="#">Secondary link</a></li>'
77
+ + '<li><a href="#">Something else here</a></li>'
78
+ + '<li class="divider"></li>'
79
+ + '<li><a href="#">Another link</a></li>'
80
+ + '</ul>'
81
+ + '</li>'
82
+ + '</ul>'
83
+ , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
84
+
85
+ ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
86
+ })
87
+
88
+
89
+ test("should remove open class if body clicked", function () {
90
+ var dropdownHTML = '<ul class="tabs">'
91
+ + '<li class="dropdown">'
92
+ + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
93
+ + '<ul class="dropdown-menu">'
94
+ + '<li><a href="#">Secondary link</a></li>'
95
+ + '<li><a href="#">Something else here</a></li>'
96
+ + '<li class="divider"></li>'
97
+ + '<li><a href="#">Another link</a></li>'
98
+ + '</ul>'
99
+ + '</li>'
100
+ + '</ul>'
101
+ , dropdown = $(dropdownHTML)
102
+ .appendTo('#qunit-fixture')
103
+ .find('[data-toggle="dropdown"]')
104
+ .dropdown()
105
+ .click()
106
+
107
+ ok(dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
108
+ $('body').click()
109
+ ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class removed')
110
+ dropdown.remove()
111
+ })
112
+
113
+ test("should remove open class if body clicked, with multiple drop downs", function () {
114
+ var dropdownHTML =
115
+ '<ul class="nav">'
116
+ + ' <li><a href="#menu1">Menu 1</a></li>'
117
+ + ' <li class="dropdown" id="testmenu">'
118
+ + ' <a class="dropdown-toggle" data-toggle="dropdown" href="#testmenu">Test menu <b class="caret"></b></a>'
119
+ + ' <ul class="dropdown-menu" role="menu">'
120
+ + ' <li><a href="#sub1">Submenu 1</a></li>'
121
+ + ' </ul>'
122
+ + ' </li>'
123
+ + '</ul>'
124
+ + '<div class="btn-group">'
125
+ + ' <button class="btn">Actions</button>'
126
+ + ' <button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>'
127
+ + ' <ul class="dropdown-menu">'
128
+ + ' <li><a href="#">Action 1</a></li>'
129
+ + ' </ul>'
130
+ + '</div>'
131
+ , dropdowns = $(dropdownHTML).appendTo('#qunit-fixture').find('[data-toggle="dropdown"]')
132
+ , first = dropdowns.first()
133
+ , last = dropdowns.last()
134
+
135
+ ok(dropdowns.length == 2, "Should be two dropdowns")
136
+
137
+ first.click()
138
+ ok(first.parents('.open').length == 1, 'open class added on click')
139
+ ok($('#qunit-fixture .open').length == 1, 'only one object is open')
140
+ $('body').click()
141
+ ok($("#qunit-fixture .open").length === 0, 'open class removed')
142
+
143
+ last.click()
144
+ ok(last.parent('.open').length == 1, 'open class added on click')
145
+ ok($('#qunit-fixture .open').length == 1, 'only one object is open')
146
+ $('body').click()
147
+ ok($("#qunit-fixture .open").length === 0, 'open class removed')
148
+
149
+ $("#qunit-fixture").html("")
150
+ })
151
+
152
+ test("should fire show and hide event", function () {
153
+ var dropdownHTML = '<ul class="tabs">'
154
+ + '<li class="dropdown">'
155
+ + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
156
+ + '<ul class="dropdown-menu">'
157
+ + '<li><a href="#">Secondary link</a></li>'
158
+ + '<li><a href="#">Something else here</a></li>'
159
+ + '<li class="divider"></li>'
160
+ + '<li><a href="#">Another link</a></li>'
161
+ + '</ul>'
162
+ + '</li>'
163
+ + '</ul>'
164
+ , dropdown = $(dropdownHTML)
165
+ .appendTo('#qunit-fixture')
166
+ .find('[data-toggle="dropdown"]')
167
+ .dropdown()
168
+
169
+ stop()
170
+
171
+ dropdown
172
+ .parent('.dropdown')
173
+ .bind('show.bs.dropdown', function () {
174
+ ok(true, 'show was called')
175
+ })
176
+ .bind('hide.bs.dropdown', function () {
177
+ ok(true, 'hide was called')
178
+ start()
179
+ })
180
+
181
+ dropdown.click()
182
+ $(document.body).click()
183
+ })
184
+
185
+
186
+ test("should fire shown and hiden event", function () {
187
+ var dropdownHTML = '<ul class="tabs">'
188
+ + '<li class="dropdown">'
189
+ + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
190
+ + '<ul class="dropdown-menu">'
191
+ + '<li><a href="#">Secondary link</a></li>'
192
+ + '<li><a href="#">Something else here</a></li>'
193
+ + '<li class="divider"></li>'
194
+ + '<li><a href="#">Another link</a></li>'
195
+ + '</ul>'
196
+ + '</li>'
197
+ + '</ul>'
198
+ , dropdown = $(dropdownHTML)
199
+ .appendTo('#qunit-fixture')
200
+ .find('[data-toggle="dropdown"]')
201
+ .dropdown()
202
+
203
+ stop()
204
+
205
+ dropdown
206
+ .parent('.dropdown')
207
+ .bind('shown.bs.dropdown', function () {
208
+ ok(true, 'show was called')
209
+ })
210
+ .bind('hidden.bs.dropdown', function () {
211
+ ok(true, 'hide was called')
212
+ start()
213
+ })
214
+
215
+ dropdown.click()
216
+ $(document.body).click()
217
+ })
218
+
219
+ })
@@ -0,0 +1,196 @@
1
+ $(function () {
2
+
3
+ module("modal")
4
+
5
+ test("should provide no conflict", function () {
6
+ var modal = $.fn.modal.noConflict()
7
+ ok(!$.fn.modal, 'modal was set back to undefined (org value)')
8
+ $.fn.modal = modal
9
+ })
10
+
11
+ test("should be defined on jquery object", function () {
12
+ var div = $("<div id='modal-test'></div>")
13
+ ok(div.modal, 'modal method is defined')
14
+ })
15
+
16
+ test("should return element", function () {
17
+ var div = $("<div id='modal-test'></div>")
18
+ ok(div.modal() == div, 'document.body returned')
19
+ $('#modal-test').remove()
20
+ })
21
+
22
+ test("should expose defaults var for settings", function () {
23
+ ok($.fn.modal.Constructor.DEFAULTS, 'default object exposed')
24
+ })
25
+
26
+ test("should insert into dom when show method is called", function () {
27
+ stop()
28
+ $.support.transition = false
29
+ $("<div id='modal-test'></div>")
30
+ .on("shown.bs.modal", function () {
31
+ ok($('#modal-test').length, 'modal inserted into dom')
32
+ $(this).remove()
33
+ start()
34
+ })
35
+ .modal("show")
36
+ })
37
+
38
+ test("should fire show event", function () {
39
+ stop()
40
+ $.support.transition = false
41
+ $("<div id='modal-test'></div>")
42
+ .on("show.bs.modal", function () {
43
+ ok(true, "show was called")
44
+ })
45
+ .on("shown.bs.modal", function () {
46
+ $(this).remove()
47
+ start()
48
+ })
49
+ .modal("show")
50
+ })
51
+
52
+ test("should not fire shown when default prevented", function () {
53
+ stop()
54
+ $.support.transition = false
55
+ $("<div id='modal-test'></div>")
56
+ .on("show.bs.modal", function (e) {
57
+ e.preventDefault()
58
+ ok(true, "show was called")
59
+ start()
60
+ })
61
+ .on("shown.bs.modal", function () {
62
+ ok(false, "shown was called")
63
+ })
64
+ .modal("show")
65
+ })
66
+
67
+ test("should hide modal when hide is called", function () {
68
+ stop()
69
+ $.support.transition = false
70
+
71
+ $("<div id='modal-test'></div>")
72
+ .on("shown.bs.modal", function () {
73
+ ok($('#modal-test').is(":visible"), 'modal visible')
74
+ ok($('#modal-test').length, 'modal inserted into dom')
75
+ $(this).modal("hide")
76
+ })
77
+ .on("hidden.bs.modal", function() {
78
+ ok(!$('#modal-test').is(":visible"), 'modal hidden')
79
+ $('#modal-test').remove()
80
+ start()
81
+ })
82
+ .modal("show")
83
+ })
84
+
85
+ test("should toggle when toggle is called", function () {
86
+ stop()
87
+ $.support.transition = false
88
+ var div = $("<div id='modal-test'></div>")
89
+ div
90
+ .on("shown.bs.modal", function () {
91
+ ok($('#modal-test').is(":visible"), 'modal visible')
92
+ ok($('#modal-test').length, 'modal inserted into dom')
93
+ div.modal("toggle")
94
+ })
95
+ .on("hidden.bs.modal", function() {
96
+ ok(!$('#modal-test').is(":visible"), 'modal hidden')
97
+ div.remove()
98
+ start()
99
+ })
100
+ .modal("toggle")
101
+ })
102
+
103
+ test("should remove from dom when click [data-dismiss=modal]", function () {
104
+ stop()
105
+ $.support.transition = false
106
+ var div = $("<div id='modal-test'><span class='close' data-dismiss='modal'></span></div>")
107
+ div
108
+ .on("shown.bs.modal", function () {
109
+ ok($('#modal-test').is(":visible"), 'modal visible')
110
+ ok($('#modal-test').length, 'modal inserted into dom')
111
+ div.find('.close').click()
112
+ })
113
+ .on("hidden.bs.modal", function() {
114
+ ok(!$('#modal-test').is(":visible"), 'modal hidden')
115
+ div.remove()
116
+ start()
117
+ })
118
+ .modal("toggle")
119
+ })
120
+
121
+ test("should allow modal close with 'backdrop:false'", function () {
122
+ stop()
123
+ $.support.transition = false
124
+ var div = $("<div>", { id: 'modal-test', "data-backdrop": false })
125
+ div
126
+ .on("shown.bs.modal", function () {
127
+ ok($('#modal-test').is(":visible"), 'modal visible')
128
+ div.modal("hide")
129
+ })
130
+ .on("hidden.bs.modal", function() {
131
+ ok(!$('#modal-test').is(":visible"), 'modal hidden')
132
+ div.remove()
133
+ start()
134
+ })
135
+ .modal("show")
136
+ })
137
+
138
+ test("should close modal when clicking outside of modal-content", function () {
139
+ stop()
140
+ $.support.transition = false
141
+ var div = $("<div id='modal-test'><div class='contents'></div></div>")
142
+ div
143
+ .bind("shown.bs.modal", function () {
144
+ ok($('#modal-test').length, 'modal insterted into dom')
145
+ $('.contents').click()
146
+ ok($('#modal-test').is(":visible"), 'modal visible')
147
+ $('#modal-test').click()
148
+ })
149
+ .bind("hidden.bs.modal", function() {
150
+ ok(!$('#modal-test').is(":visible"), 'modal hidden')
151
+ div.remove()
152
+ start()
153
+ })
154
+ .modal("show")
155
+ })
156
+
157
+ test("should trigger hide event once when clicking outside of modal-content", function () {
158
+ stop()
159
+ $.support.transition = false
160
+ var div = $("<div id='modal-test'><div class='contents'></div></div>")
161
+ var triggered
162
+ div
163
+ .bind("shown.bs.modal", function () {
164
+ triggered = 0
165
+ $('#modal-test').click()
166
+ })
167
+ .one("hidden.bs.modal", function() {
168
+ div.modal("show")
169
+ })
170
+ .bind("hide.bs.modal", function () {
171
+ triggered += 1
172
+ ok(triggered === 1, 'modal hide triggered once')
173
+ start()
174
+ })
175
+ .modal("show")
176
+ })
177
+
178
+ test("should close reopened modal with [data-dismiss=modal] click", function () {
179
+ stop()
180
+ $.support.transition = false
181
+ var div = $("<div id='modal-test'><div class='contents'><div id='close' data-dismiss='modal'></div></div></div>")
182
+ div
183
+ .bind("shown.bs.modal", function () {
184
+ $('#close').click()
185
+ ok(!$('#modal-test').is(":visible"), 'modal hidden')
186
+ })
187
+ .one("hidden.bs.modal", function() {
188
+ div.one('hidden.bs.modal', function () {
189
+ start()
190
+ }).modal("show")
191
+ })
192
+ .modal("show")
193
+
194
+ div.remove()
195
+ })
196
+ })
@@ -0,0 +1,69 @@
1
+ /*
2
+ * grunt-contrib-qunit
3
+ * http://gruntjs.com/
4
+ *
5
+ * Copyright (c) 2013 "Cowboy" Ben Alman, contributors
6
+ * Licensed under the MIT license.
7
+ */
8
+
9
+ /*global QUnit:true, alert:true*/
10
+ (function () {
11
+ 'use strict';
12
+
13
+ // Don't re-order tests.
14
+ QUnit.config.reorder = false
15
+ // Run tests serially, not in parallel.
16
+ QUnit.config.autorun = false
17
+
18
+ // Send messages to the parent PhantomJS process via alert! Good times!!
19
+ function sendMessage() {
20
+ var args = [].slice.call(arguments)
21
+ alert(JSON.stringify(args))
22
+ }
23
+
24
+ // These methods connect QUnit to PhantomJS.
25
+ QUnit.log = function(obj) {
26
+ // What is this I don’t even
27
+ if (obj.message === '[object Object], undefined:undefined') { return }
28
+ // Parse some stuff before sending it.
29
+ var actual = QUnit.jsDump.parse(obj.actual)
30
+ var expected = QUnit.jsDump.parse(obj.expected)
31
+ // Send it.
32
+ sendMessage('qunit.log', obj.result, actual, expected, obj.message, obj.source)
33
+ }
34
+
35
+ QUnit.testStart = function(obj) {
36
+ sendMessage('qunit.testStart', obj.name)
37
+ }
38
+
39
+ QUnit.testDone = function(obj) {
40
+ sendMessage('qunit.testDone', obj.name, obj.failed, obj.passed, obj.total)
41
+ }
42
+
43
+ QUnit.moduleStart = function(obj) {
44
+ sendMessage('qunit.moduleStart', obj.name)
45
+ }
46
+
47
+ QUnit.begin = function () {
48
+ sendMessage('qunit.begin')
49
+ console.log("Starting test suite")
50
+ console.log("================================================\n")
51
+ }
52
+
53
+ QUnit.moduleDone = function (opts) {
54
+ if (opts.failed === 0) {
55
+ console.log("\r\u2714 All tests passed in '" + opts.name + "' module")
56
+ } else {
57
+ console.log("\u2716 " + opts.failed + " tests failed in '" + opts.name + "' module")
58
+ }
59
+ sendMessage('qunit.moduleDone', opts.name, opts.failed, opts.passed, opts.total)
60
+ }
61
+
62
+ QUnit.done = function (opts) {
63
+ console.log("\n================================================")
64
+ console.log("Tests completed in " + opts.runtime + " milliseconds")
65
+ console.log(opts.passed + " tests of " + opts.total + " passed, " + opts.failed + " failed.")
66
+ sendMessage('qunit.done', opts.failed, opts.passed, opts.total, opts.runtime)
67
+ }
68
+
69
+ }())