compass-sass37 1.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 (562) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.markdown +1 -0
  3. data/Rakefile +237 -0
  4. data/VERSION +1 -0
  5. data/VERSION_NAME +1 -0
  6. data/bin/compass +45 -0
  7. data/features/command_line.feature +195 -0
  8. data/features/extensions.feature +27 -0
  9. data/features/step_definitions/command_line_steps.rb +268 -0
  10. data/features/step_definitions/extension_steps.rb +24 -0
  11. data/lib/compass/actions.rb +116 -0
  12. data/lib/compass/app_integration/stand_alone/configuration_defaults.rb +32 -0
  13. data/lib/compass/app_integration/stand_alone/installer.rb +83 -0
  14. data/lib/compass/app_integration/stand_alone.rb +22 -0
  15. data/lib/compass/app_integration.rb +39 -0
  16. data/lib/compass/commands/base.rb +44 -0
  17. data/lib/compass/commands/clean_project.rb +79 -0
  18. data/lib/compass/commands/create_project.rb +131 -0
  19. data/lib/compass/commands/default.rb +50 -0
  20. data/lib/compass/commands/extension_command.rb +60 -0
  21. data/lib/compass/commands/help.rb +85 -0
  22. data/lib/compass/commands/imports.rb +35 -0
  23. data/lib/compass/commands/installer_command.rb +32 -0
  24. data/lib/compass/commands/interactive.rb +61 -0
  25. data/lib/compass/commands/list_frameworks.rb +39 -0
  26. data/lib/compass/commands/print_version.rb +88 -0
  27. data/lib/compass/commands/project_base.rb +103 -0
  28. data/lib/compass/commands/project_stats.rb +178 -0
  29. data/lib/compass/commands/project_structure.rb +93 -0
  30. data/lib/compass/commands/registry.rb +40 -0
  31. data/lib/compass/commands/sprite.rb +89 -0
  32. data/lib/compass/commands/stamp_pattern.rb +90 -0
  33. data/lib/compass/commands/unpack_extension.rb +120 -0
  34. data/lib/compass/commands/update_project.rb +148 -0
  35. data/lib/compass/commands/validate_project.rb +77 -0
  36. data/lib/compass/commands/watch_project.rb +117 -0
  37. data/lib/compass/commands/write_configuration.rb +125 -0
  38. data/lib/compass/commands.rb +14 -0
  39. data/lib/compass/compiler.rb +249 -0
  40. data/lib/compass/configuration/comments.rb +62 -0
  41. data/lib/compass/configuration/file_data.rb +21 -0
  42. data/lib/compass/configuration/helpers.rb +113 -0
  43. data/lib/compass/configuration/serialization.rb +95 -0
  44. data/lib/compass/dependencies.rb +12 -0
  45. data/lib/compass/deprecation.rb +19 -0
  46. data/lib/compass/errors.rb +9 -0
  47. data/lib/compass/exec/command_option_parser.rb +23 -0
  48. data/lib/compass/exec/global_options_parser.rb +59 -0
  49. data/lib/compass/exec/helpers.rb +21 -0
  50. data/lib/compass/exec/project_options_parser.rb +74 -0
  51. data/lib/compass/exec/sub_command_ui.rb +51 -0
  52. data/lib/compass/exec.rb +23 -0
  53. data/lib/compass/generated_version.rb +4 -0
  54. data/lib/compass/installers/bare_installer.rb +58 -0
  55. data/lib/compass/installers/base.rb +187 -0
  56. data/lib/compass/installers/manifest.rb +161 -0
  57. data/lib/compass/installers/manifest_installer.rb +61 -0
  58. data/lib/compass/installers/template_context.rb +44 -0
  59. data/lib/compass/installers.rb +3 -0
  60. data/lib/compass/logger.rb +140 -0
  61. data/lib/compass/quick_cache.rb +15 -0
  62. data/lib/compass/rails.rb +2 -0
  63. data/lib/compass/sass_compiler.rb +152 -0
  64. data/lib/compass/sass_extensions/functions/sprites.rb +305 -0
  65. data/lib/compass/sass_extensions/functions.rb +15 -0
  66. data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +35 -0
  67. data/lib/compass/sass_extensions/sprites/engines.rb +25 -0
  68. data/lib/compass/sass_extensions/sprites/image.rb +162 -0
  69. data/lib/compass/sass_extensions/sprites/image_methods.rb +52 -0
  70. data/lib/compass/sass_extensions/sprites/image_row.rb +47 -0
  71. data/lib/compass/sass_extensions/sprites/images.rb +29 -0
  72. data/lib/compass/sass_extensions/sprites/layout/diagonal.rb +42 -0
  73. data/lib/compass/sass_extensions/sprites/layout/horizontal.rb +66 -0
  74. data/lib/compass/sass_extensions/sprites/layout/smart.rb +33 -0
  75. data/lib/compass/sass_extensions/sprites/layout/vertical.rb +68 -0
  76. data/lib/compass/sass_extensions/sprites/layout.rb +39 -0
  77. data/lib/compass/sass_extensions/sprites/layout_methods.rb +53 -0
  78. data/lib/compass/sass_extensions/sprites/row_fitter.rb +92 -0
  79. data/lib/compass/sass_extensions/sprites/sprite_map.rb +93 -0
  80. data/lib/compass/sass_extensions/sprites/sprite_methods.rb +136 -0
  81. data/lib/compass/sass_extensions/sprites.rb +21 -0
  82. data/lib/compass/sass_extensions.rb +9 -0
  83. data/lib/compass/sprite_importer/binding.rb +11 -0
  84. data/lib/compass/sprite_importer/content.erb +87 -0
  85. data/lib/compass/sprite_importer.rb +117 -0
  86. data/lib/compass/stats.rb +99 -0
  87. data/lib/compass/test_case.rb +38 -0
  88. data/lib/compass/validator.rb +16 -0
  89. data/lib/compass/version.rb +42 -0
  90. data/lib/compass.rb +39 -0
  91. data/test/fixtures/extensions/only_stylesheets/compass_init.rb +1 -0
  92. data/test/fixtures/extensions/only_stylesheets/scss/only_stylesheets/foo.scss +3 -0
  93. data/test/fixtures/fonts/bgrove.base64.txt +1 -0
  94. data/test/fixtures/fonts/bgrove.ttf +0 -0
  95. data/test/fixtures/sprites/public/images/bad_extensions/ten-by-ten.gif +0 -0
  96. data/test/fixtures/sprites/public/images/bad_extensions/twenty-by-twenty.jpg +0 -0
  97. data/test/fixtures/sprites/public/images/bool/false.png +0 -0
  98. data/test/fixtures/sprites/public/images/bool/true.png +0 -0
  99. data/test/fixtures/sprites/public/images/colors/blue.png +0 -0
  100. data/test/fixtures/sprites/public/images/colors/yellow.png +0 -0
  101. data/test/fixtures/sprites/public/images/focus/ten-by-ten.png +0 -0
  102. data/test/fixtures/sprites/public/images/focus/ten-by-ten_active.png +0 -0
  103. data/test/fixtures/sprites/public/images/focus/ten-by-ten_focus.png +0 -0
  104. data/test/fixtures/sprites/public/images/focus/ten-by-ten_hover.png +0 -0
  105. data/test/fixtures/sprites/public/images/focus/ten-by-ten_target.png +0 -0
  106. data/test/fixtures/sprites/public/images/image_row/large.png +0 -0
  107. data/test/fixtures/sprites/public/images/image_row/large_square.png +0 -0
  108. data/test/fixtures/sprites/public/images/image_row/medium.png +0 -0
  109. data/test/fixtures/sprites/public/images/image_row/small.png +0 -0
  110. data/test/fixtures/sprites/public/images/image_row/tall.png +0 -0
  111. data/test/fixtures/sprites/public/images/ko/default_background.png +0 -0
  112. data/test/fixtures/sprites/public/images/ko/starbg26x27.png +0 -0
  113. data/test/fixtures/sprites/public/images/nested/squares/ten-by-ten.png +0 -0
  114. data/test/fixtures/sprites/public/images/numeric/200.png +0 -0
  115. data/test/fixtures/sprites/public/images/prefix/20-by-20.png +0 -0
  116. data/test/fixtures/sprites/public/images/prefix/ten-by-ten.png +0 -0
  117. data/test/fixtures/sprites/public/images/repeat_x/five.png +0 -0
  118. data/test/fixtures/sprites/public/images/repeat_x/four.png +0 -0
  119. data/test/fixtures/sprites/public/images/repeat_x/one.png +0 -0
  120. data/test/fixtures/sprites/public/images/repeat_x/three.png +0 -0
  121. data/test/fixtures/sprites/public/images/repeat_x/two.png +0 -0
  122. data/test/fixtures/sprites/public/images/selectors/ten-by-ten.png +0 -0
  123. data/test/fixtures/sprites/public/images/selectors/ten-by-ten_active.png +0 -0
  124. data/test/fixtures/sprites/public/images/selectors/ten-by-ten_hover.png +0 -0
  125. data/test/fixtures/sprites/public/images/selectors/ten-by-ten_target.png +0 -0
  126. data/test/fixtures/sprites/public/images/squares/ten-by-ten.png +0 -0
  127. data/test/fixtures/sprites/public/images/squares/twenty-by-twenty.png +0 -0
  128. data/test/fixtures/stylesheets/busted_font_urls/config.rb +32 -0
  129. data/test/fixtures/stylesheets/busted_font_urls/css/screen.css +9 -0
  130. data/test/fixtures/stylesheets/busted_font_urls/fonts/feed.ttf +0 -0
  131. data/test/fixtures/stylesheets/busted_font_urls/fonts/grid.ttf +0 -0
  132. data/test/fixtures/stylesheets/busted_font_urls/fonts/sub/dk.ttf +0 -0
  133. data/test/fixtures/stylesheets/busted_font_urls/sass/screen.sass +14 -0
  134. data/test/fixtures/stylesheets/busted_image_urls/config.rb +29 -0
  135. data/test/fixtures/stylesheets/busted_image_urls/css/screen.css +9 -0
  136. data/test/fixtures/stylesheets/busted_image_urls/images/feed.png +0 -0
  137. data/test/fixtures/stylesheets/busted_image_urls/images/flags/dk.png +0 -0
  138. data/test/fixtures/stylesheets/busted_image_urls/images/grid.png +0 -0
  139. data/test/fixtures/stylesheets/busted_image_urls/sass/screen.sass +14 -0
  140. data/test/fixtures/stylesheets/compass/100x150.jpg +0 -0
  141. data/test/fixtures/stylesheets/compass/config.rb +18 -0
  142. data/test/fixtures/stylesheets/compass/css/animation-with-legacy-ie.css +22 -0
  143. data/test/fixtures/stylesheets/compass/css/animation.css +22 -0
  144. data/test/fixtures/stylesheets/compass/css/appearance.css +3 -0
  145. data/test/fixtures/stylesheets/compass/css/background-clip.css +11 -0
  146. data/test/fixtures/stylesheets/compass/css/background-origin.css +11 -0
  147. data/test/fixtures/stylesheets/compass/css/background-size.css +17 -0
  148. data/test/fixtures/stylesheets/compass/css/border_radius.css +14 -0
  149. data/test/fixtures/stylesheets/compass/css/box-sizing.css +14 -0
  150. data/test/fixtures/stylesheets/compass/css/box.css +103 -0
  151. data/test/fixtures/stylesheets/compass/css/box_shadow.css +24 -0
  152. data/test/fixtures/stylesheets/compass/css/brightness.css +14 -0
  153. data/test/fixtures/stylesheets/compass/css/browser-support.css +335 -0
  154. data/test/fixtures/stylesheets/compass/css/color.css +18 -0
  155. data/test/fixtures/stylesheets/compass/css/columns.css +134 -0
  156. data/test/fixtures/stylesheets/compass/css/filters.css +53 -0
  157. data/test/fixtures/stylesheets/compass/css/flexbox.css +94 -0
  158. data/test/fixtures/stylesheets/compass/css/fonts.css +8 -0
  159. data/test/fixtures/stylesheets/compass/css/force-wrap.css +9 -0
  160. data/test/fixtures/stylesheets/compass/css/gradients.css +222 -0
  161. data/test/fixtures/stylesheets/compass/css/grid_background.css +79 -0
  162. data/test/fixtures/stylesheets/compass/css/hyphenation.css +16 -0
  163. data/test/fixtures/stylesheets/compass/css/image_size.css +15 -0
  164. data/test/fixtures/stylesheets/compass/css/images.css +8 -0
  165. data/test/fixtures/stylesheets/compass/css/layout.css +16 -0
  166. data/test/fixtures/stylesheets/compass/css/legacy_clearfix.css +26 -0
  167. data/test/fixtures/stylesheets/compass/css/lists.css +145 -0
  168. data/test/fixtures/stylesheets/compass/css/opacity.css +7 -0
  169. data/test/fixtures/stylesheets/compass/css/print.css +11 -0
  170. data/test/fixtures/stylesheets/compass/css/regions.css +9 -0
  171. data/test/fixtures/stylesheets/compass/css/replacement.css +66 -0
  172. data/test/fixtures/stylesheets/compass/css/reset.css +59 -0
  173. data/test/fixtures/stylesheets/compass/css/selection.css +50 -0
  174. data/test/fixtures/stylesheets/compass/css/sprites_with_explicit_separator.css +19 -0
  175. data/test/fixtures/stylesheets/compass/css/stretching.css +66 -0
  176. data/test/fixtures/stylesheets/compass/css/support.css +116 -0
  177. data/test/fixtures/stylesheets/compass/css/text_shadow.css +29 -0
  178. data/test/fixtures/stylesheets/compass/css/transform.css +341 -0
  179. data/test/fixtures/stylesheets/compass/css/transition.css +116 -0
  180. data/test/fixtures/stylesheets/compass/css/typography/links/hover-link.css +4 -0
  181. data/test/fixtures/stylesheets/compass/css/units.css +34 -0
  182. data/test/fixtures/stylesheets/compass/css/user-interface.css +52 -0
  183. data/test/fixtures/stylesheets/compass/css/utilities.css +71 -0
  184. data/test/fixtures/stylesheets/compass/css/vertical_rhythm.css +42 -0
  185. data/test/fixtures/stylesheets/compass/css/vertical_rhythm_with_ems.css +53 -0
  186. data/test/fixtures/stylesheets/compass/css/vertical_rhythm_with_px.css +52 -0
  187. data/test/fixtures/stylesheets/compass/css/vertical_rhythm_with_rems.css +67 -0
  188. data/test/fixtures/stylesheets/compass/images/100x150.gif +0 -0
  189. data/test/fixtures/stylesheets/compass/images/100x150.jpeg +0 -0
  190. data/test/fixtures/stylesheets/compass/images/100x150.jpg +0 -0
  191. data/test/fixtures/stylesheets/compass/images/100x150.png +0 -0
  192. data/test/fixtures/stylesheets/compass/images/4x6.png +0 -0
  193. data/test/fixtures/stylesheets/compass/images/flag/ad.png +0 -0
  194. data/test/fixtures/stylesheets/compass/images/flag/ae.png +0 -0
  195. data/test/fixtures/stylesheets/compass/images/flag/af.png +0 -0
  196. data/test/fixtures/stylesheets/compass/images/flag/ag.png +0 -0
  197. data/test/fixtures/stylesheets/compass/images/flag/ai.png +0 -0
  198. data/test/fixtures/stylesheets/compass/images/flag/al.png +0 -0
  199. data/test/fixtures/stylesheets/compass/images/flag/am.png +0 -0
  200. data/test/fixtures/stylesheets/compass/images/flag/an.png +0 -0
  201. data/test/fixtures/stylesheets/compass/images/flag/ao.png +0 -0
  202. data/test/fixtures/stylesheets/compass/images/flag/ar.png +0 -0
  203. data/test/fixtures/stylesheets/compass/images/flag/as.png +0 -0
  204. data/test/fixtures/stylesheets/compass/images/flag/at.png +0 -0
  205. data/test/fixtures/stylesheets/compass/images/flag/au.png +0 -0
  206. data/test/fixtures/stylesheets/compass/images/flag/aw.png +0 -0
  207. data/test/fixtures/stylesheets/compass/images/flag/ax.png +0 -0
  208. data/test/fixtures/stylesheets/compass/images/flag/az.png +0 -0
  209. data/test/fixtures/stylesheets/compass/images/flag/ba.png +0 -0
  210. data/test/fixtures/stylesheets/compass/images/flag/bb.png +0 -0
  211. data/test/fixtures/stylesheets/compass/images/flag/bd.png +0 -0
  212. data/test/fixtures/stylesheets/compass/images/flag/be.png +0 -0
  213. data/test/fixtures/stylesheets/compass/images/flag/bf.png +0 -0
  214. data/test/fixtures/stylesheets/compass/images/flag/bg.png +0 -0
  215. data/test/fixtures/stylesheets/compass/images/flag/bh.png +0 -0
  216. data/test/fixtures/stylesheets/compass/images/flag/bi.png +0 -0
  217. data/test/fixtures/stylesheets/compass/images/flag/bj.png +0 -0
  218. data/test/fixtures/stylesheets/compass/images/flag/bm.png +0 -0
  219. data/test/fixtures/stylesheets/compass/images/flag/bn.png +0 -0
  220. data/test/fixtures/stylesheets/compass/images/flag/bo.png +0 -0
  221. data/test/fixtures/stylesheets/compass/images/flag/br.png +0 -0
  222. data/test/fixtures/stylesheets/compass/images/flag/bs.png +0 -0
  223. data/test/fixtures/stylesheets/compass/images/flag/bt.png +0 -0
  224. data/test/fixtures/stylesheets/compass/images/flag/bv.png +0 -0
  225. data/test/fixtures/stylesheets/compass/images/flag/bw.png +0 -0
  226. data/test/fixtures/stylesheets/compass/images/flag/by.png +0 -0
  227. data/test/fixtures/stylesheets/compass/images/flag/bz.png +0 -0
  228. data/test/fixtures/stylesheets/compass/images/flag/ca.png +0 -0
  229. data/test/fixtures/stylesheets/compass/images/flag/catalonia.png +0 -0
  230. data/test/fixtures/stylesheets/compass/images/flag/cc.png +0 -0
  231. data/test/fixtures/stylesheets/compass/images/flag/cd.png +0 -0
  232. data/test/fixtures/stylesheets/compass/images/flag/cf.png +0 -0
  233. data/test/fixtures/stylesheets/compass/images/flag/cg.png +0 -0
  234. data/test/fixtures/stylesheets/compass/images/flag/ch.png +0 -0
  235. data/test/fixtures/stylesheets/compass/images/flag/ci.png +0 -0
  236. data/test/fixtures/stylesheets/compass/images/flag/ck.png +0 -0
  237. data/test/fixtures/stylesheets/compass/images/flag/cl.png +0 -0
  238. data/test/fixtures/stylesheets/compass/images/flag/cm.png +0 -0
  239. data/test/fixtures/stylesheets/compass/images/flag/cn.png +0 -0
  240. data/test/fixtures/stylesheets/compass/images/flag/co.png +0 -0
  241. data/test/fixtures/stylesheets/compass/images/flag/cr.png +0 -0
  242. data/test/fixtures/stylesheets/compass/images/flag/cs.png +0 -0
  243. data/test/fixtures/stylesheets/compass/images/flag/cu.png +0 -0
  244. data/test/fixtures/stylesheets/compass/images/flag/cv.png +0 -0
  245. data/test/fixtures/stylesheets/compass/images/flag/cx.png +0 -0
  246. data/test/fixtures/stylesheets/compass/images/flag/cy.png +0 -0
  247. data/test/fixtures/stylesheets/compass/images/flag/cz.png +0 -0
  248. data/test/fixtures/stylesheets/compass/images/flag/de.png +0 -0
  249. data/test/fixtures/stylesheets/compass/images/flag/dj.png +0 -0
  250. data/test/fixtures/stylesheets/compass/images/flag/dk.png +0 -0
  251. data/test/fixtures/stylesheets/compass/images/flag/dm.png +0 -0
  252. data/test/fixtures/stylesheets/compass/images/flag/do.png +0 -0
  253. data/test/fixtures/stylesheets/compass/images/flag/dz.png +0 -0
  254. data/test/fixtures/stylesheets/compass/images/flag/ec.png +0 -0
  255. data/test/fixtures/stylesheets/compass/images/flag/ee.png +0 -0
  256. data/test/fixtures/stylesheets/compass/images/flag/eg.png +0 -0
  257. data/test/fixtures/stylesheets/compass/images/flag/eh.png +0 -0
  258. data/test/fixtures/stylesheets/compass/images/flag/england.png +0 -0
  259. data/test/fixtures/stylesheets/compass/images/flag/er.png +0 -0
  260. data/test/fixtures/stylesheets/compass/images/flag/es.png +0 -0
  261. data/test/fixtures/stylesheets/compass/images/flag/et.png +0 -0
  262. data/test/fixtures/stylesheets/compass/images/flag/europeanunion.png +0 -0
  263. data/test/fixtures/stylesheets/compass/images/flag/fam.png +0 -0
  264. data/test/fixtures/stylesheets/compass/images/flag/fi.png +0 -0
  265. data/test/fixtures/stylesheets/compass/images/flag/fj.png +0 -0
  266. data/test/fixtures/stylesheets/compass/images/flag/fk.png +0 -0
  267. data/test/fixtures/stylesheets/compass/images/flag/fm.png +0 -0
  268. data/test/fixtures/stylesheets/compass/images/flag/fo.png +0 -0
  269. data/test/fixtures/stylesheets/compass/images/flag/fr.png +0 -0
  270. data/test/fixtures/stylesheets/compass/images/flag/ga.png +0 -0
  271. data/test/fixtures/stylesheets/compass/images/flag/gb.png +0 -0
  272. data/test/fixtures/stylesheets/compass/images/flag/gd.png +0 -0
  273. data/test/fixtures/stylesheets/compass/images/flag/ge.png +0 -0
  274. data/test/fixtures/stylesheets/compass/images/flag/gf.png +0 -0
  275. data/test/fixtures/stylesheets/compass/images/flag/gh.png +0 -0
  276. data/test/fixtures/stylesheets/compass/images/flag/gi.png +0 -0
  277. data/test/fixtures/stylesheets/compass/images/flag/gl.png +0 -0
  278. data/test/fixtures/stylesheets/compass/images/flag/gm.png +0 -0
  279. data/test/fixtures/stylesheets/compass/images/flag/gn.png +0 -0
  280. data/test/fixtures/stylesheets/compass/images/flag/gp.png +0 -0
  281. data/test/fixtures/stylesheets/compass/images/flag/gq.png +0 -0
  282. data/test/fixtures/stylesheets/compass/images/flag/gr.png +0 -0
  283. data/test/fixtures/stylesheets/compass/images/flag/gs.png +0 -0
  284. data/test/fixtures/stylesheets/compass/images/flag/gt.png +0 -0
  285. data/test/fixtures/stylesheets/compass/images/flag/gu.png +0 -0
  286. data/test/fixtures/stylesheets/compass/images/flag/gw.png +0 -0
  287. data/test/fixtures/stylesheets/compass/images/flag/gy.png +0 -0
  288. data/test/fixtures/stylesheets/compass/images/flag/hk.png +0 -0
  289. data/test/fixtures/stylesheets/compass/images/flag/hm.png +0 -0
  290. data/test/fixtures/stylesheets/compass/images/flag/hn.png +0 -0
  291. data/test/fixtures/stylesheets/compass/images/flag/hr.png +0 -0
  292. data/test/fixtures/stylesheets/compass/images/flag/ht.png +0 -0
  293. data/test/fixtures/stylesheets/compass/images/flag/hu.png +0 -0
  294. data/test/fixtures/stylesheets/compass/images/flag/id-2.png +0 -0
  295. data/test/fixtures/stylesheets/compass/images/flag/ie.png +0 -0
  296. data/test/fixtures/stylesheets/compass/images/flag/il.png +0 -0
  297. data/test/fixtures/stylesheets/compass/images/flag/in.png +0 -0
  298. data/test/fixtures/stylesheets/compass/images/flag/io.png +0 -0
  299. data/test/fixtures/stylesheets/compass/images/flag/iq.png +0 -0
  300. data/test/fixtures/stylesheets/compass/images/flag/ir.png +0 -0
  301. data/test/fixtures/stylesheets/compass/images/flag/is.png +0 -0
  302. data/test/fixtures/stylesheets/compass/images/flag/it.png +0 -0
  303. data/test/fixtures/stylesheets/compass/images/flag/jm.png +0 -0
  304. data/test/fixtures/stylesheets/compass/images/flag/jo.png +0 -0
  305. data/test/fixtures/stylesheets/compass/images/flag/jp.png +0 -0
  306. data/test/fixtures/stylesheets/compass/images/flag/ke.png +0 -0
  307. data/test/fixtures/stylesheets/compass/images/flag/kg.png +0 -0
  308. data/test/fixtures/stylesheets/compass/images/flag/kh.png +0 -0
  309. data/test/fixtures/stylesheets/compass/images/flag/ki.png +0 -0
  310. data/test/fixtures/stylesheets/compass/images/flag/km.png +0 -0
  311. data/test/fixtures/stylesheets/compass/images/flag/kn.png +0 -0
  312. data/test/fixtures/stylesheets/compass/images/flag/kp.png +0 -0
  313. data/test/fixtures/stylesheets/compass/images/flag/kr.png +0 -0
  314. data/test/fixtures/stylesheets/compass/images/flag/kw.png +0 -0
  315. data/test/fixtures/stylesheets/compass/images/flag/ky.png +0 -0
  316. data/test/fixtures/stylesheets/compass/images/flag/kz.png +0 -0
  317. data/test/fixtures/stylesheets/compass/images/flag/la.png +0 -0
  318. data/test/fixtures/stylesheets/compass/images/flag/lb.png +0 -0
  319. data/test/fixtures/stylesheets/compass/images/flag/lc.png +0 -0
  320. data/test/fixtures/stylesheets/compass/images/flag/li.png +0 -0
  321. data/test/fixtures/stylesheets/compass/images/flag/lk.png +0 -0
  322. data/test/fixtures/stylesheets/compass/images/flag/lr.png +0 -0
  323. data/test/fixtures/stylesheets/compass/images/flag/ls.png +0 -0
  324. data/test/fixtures/stylesheets/compass/images/flag/lt.png +0 -0
  325. data/test/fixtures/stylesheets/compass/images/flag/lu.png +0 -0
  326. data/test/fixtures/stylesheets/compass/images/flag/lv.png +0 -0
  327. data/test/fixtures/stylesheets/compass/images/flag/ly.png +0 -0
  328. data/test/fixtures/stylesheets/compass/images/flag/ma.png +0 -0
  329. data/test/fixtures/stylesheets/compass/images/flag/mc.png +0 -0
  330. data/test/fixtures/stylesheets/compass/images/flag/md.png +0 -0
  331. data/test/fixtures/stylesheets/compass/images/flag/me.png +0 -0
  332. data/test/fixtures/stylesheets/compass/images/flag/mg.png +0 -0
  333. data/test/fixtures/stylesheets/compass/images/flag/mh.png +0 -0
  334. data/test/fixtures/stylesheets/compass/images/flag/mk.png +0 -0
  335. data/test/fixtures/stylesheets/compass/images/flag/ml.png +0 -0
  336. data/test/fixtures/stylesheets/compass/images/flag/mm.png +0 -0
  337. data/test/fixtures/stylesheets/compass/images/flag/mn.png +0 -0
  338. data/test/fixtures/stylesheets/compass/images/flag/mo.png +0 -0
  339. data/test/fixtures/stylesheets/compass/images/flag/mp.png +0 -0
  340. data/test/fixtures/stylesheets/compass/images/flag/mq.png +0 -0
  341. data/test/fixtures/stylesheets/compass/images/flag/mr.png +0 -0
  342. data/test/fixtures/stylesheets/compass/images/flag/ms.png +0 -0
  343. data/test/fixtures/stylesheets/compass/images/flag/mt.png +0 -0
  344. data/test/fixtures/stylesheets/compass/images/flag/mu.png +0 -0
  345. data/test/fixtures/stylesheets/compass/images/flag/mv.png +0 -0
  346. data/test/fixtures/stylesheets/compass/images/flag/mw.png +0 -0
  347. data/test/fixtures/stylesheets/compass/images/flag/mx.png +0 -0
  348. data/test/fixtures/stylesheets/compass/images/flag/my.png +0 -0
  349. data/test/fixtures/stylesheets/compass/images/flag/mz.png +0 -0
  350. data/test/fixtures/stylesheets/compass/images/flag/na.png +0 -0
  351. data/test/fixtures/stylesheets/compass/images/flag/nc.png +0 -0
  352. data/test/fixtures/stylesheets/compass/images/flag/ne.png +0 -0
  353. data/test/fixtures/stylesheets/compass/images/flag/nf.png +0 -0
  354. data/test/fixtures/stylesheets/compass/images/flag/ng.png +0 -0
  355. data/test/fixtures/stylesheets/compass/images/flag/ni.png +0 -0
  356. data/test/fixtures/stylesheets/compass/images/flag/nl.png +0 -0
  357. data/test/fixtures/stylesheets/compass/images/flag/no.png +0 -0
  358. data/test/fixtures/stylesheets/compass/images/flag/np.png +0 -0
  359. data/test/fixtures/stylesheets/compass/images/flag/nr.png +0 -0
  360. data/test/fixtures/stylesheets/compass/images/flag/nu.png +0 -0
  361. data/test/fixtures/stylesheets/compass/images/flag/nz.png +0 -0
  362. data/test/fixtures/stylesheets/compass/images/flag/om.png +0 -0
  363. data/test/fixtures/stylesheets/compass/images/flag/pa.png +0 -0
  364. data/test/fixtures/stylesheets/compass/images/flag/pe.png +0 -0
  365. data/test/fixtures/stylesheets/compass/images/flag/pf.png +0 -0
  366. data/test/fixtures/stylesheets/compass/images/flag/pg.png +0 -0
  367. data/test/fixtures/stylesheets/compass/images/flag/ph.png +0 -0
  368. data/test/fixtures/stylesheets/compass/images/flag/pk.png +0 -0
  369. data/test/fixtures/stylesheets/compass/images/flag/pl.png +0 -0
  370. data/test/fixtures/stylesheets/compass/images/flag/pm.png +0 -0
  371. data/test/fixtures/stylesheets/compass/images/flag/pn.png +0 -0
  372. data/test/fixtures/stylesheets/compass/images/flag/pr.png +0 -0
  373. data/test/fixtures/stylesheets/compass/images/flag/ps.png +0 -0
  374. data/test/fixtures/stylesheets/compass/images/flag/pt.png +0 -0
  375. data/test/fixtures/stylesheets/compass/images/flag/pw.png +0 -0
  376. data/test/fixtures/stylesheets/compass/images/flag/py.png +0 -0
  377. data/test/fixtures/stylesheets/compass/images/flag/qa.png +0 -0
  378. data/test/fixtures/stylesheets/compass/images/flag/re.png +0 -0
  379. data/test/fixtures/stylesheets/compass/images/flag/ro.png +0 -0
  380. data/test/fixtures/stylesheets/compass/images/flag/rs.png +0 -0
  381. data/test/fixtures/stylesheets/compass/images/flag/ru.png +0 -0
  382. data/test/fixtures/stylesheets/compass/images/flag/rw.png +0 -0
  383. data/test/fixtures/stylesheets/compass/images/flag/sa.png +0 -0
  384. data/test/fixtures/stylesheets/compass/images/flag/sb.png +0 -0
  385. data/test/fixtures/stylesheets/compass/images/flag/sc.png +0 -0
  386. data/test/fixtures/stylesheets/compass/images/flag/scotland.png +0 -0
  387. data/test/fixtures/stylesheets/compass/images/flag/sd.png +0 -0
  388. data/test/fixtures/stylesheets/compass/images/flag/se.png +0 -0
  389. data/test/fixtures/stylesheets/compass/images/flag/sg.png +0 -0
  390. data/test/fixtures/stylesheets/compass/images/flag/sh.png +0 -0
  391. data/test/fixtures/stylesheets/compass/images/flag/si.png +0 -0
  392. data/test/fixtures/stylesheets/compass/images/flag/sj.png +0 -0
  393. data/test/fixtures/stylesheets/compass/images/flag/sk.png +0 -0
  394. data/test/fixtures/stylesheets/compass/images/flag/sl.png +0 -0
  395. data/test/fixtures/stylesheets/compass/images/flag/sm.png +0 -0
  396. data/test/fixtures/stylesheets/compass/images/flag/sn.png +0 -0
  397. data/test/fixtures/stylesheets/compass/images/flag/so.png +0 -0
  398. data/test/fixtures/stylesheets/compass/images/flag/sr.png +0 -0
  399. data/test/fixtures/stylesheets/compass/images/flag/st.png +0 -0
  400. data/test/fixtures/stylesheets/compass/images/flag/sv.png +0 -0
  401. data/test/fixtures/stylesheets/compass/images/flag/sy.png +0 -0
  402. data/test/fixtures/stylesheets/compass/images/flag/sz.png +0 -0
  403. data/test/fixtures/stylesheets/compass/images/flag/tc.png +0 -0
  404. data/test/fixtures/stylesheets/compass/images/flag/td.png +0 -0
  405. data/test/fixtures/stylesheets/compass/images/flag/tf.png +0 -0
  406. data/test/fixtures/stylesheets/compass/images/flag/tg.png +0 -0
  407. data/test/fixtures/stylesheets/compass/images/flag/th.png +0 -0
  408. data/test/fixtures/stylesheets/compass/images/flag/tj.png +0 -0
  409. data/test/fixtures/stylesheets/compass/images/flag/tk.png +0 -0
  410. data/test/fixtures/stylesheets/compass/images/flag/tl.png +0 -0
  411. data/test/fixtures/stylesheets/compass/images/flag/tm.png +0 -0
  412. data/test/fixtures/stylesheets/compass/images/flag/tn.png +0 -0
  413. data/test/fixtures/stylesheets/compass/images/flag/to.png +0 -0
  414. data/test/fixtures/stylesheets/compass/images/flag/tr.png +0 -0
  415. data/test/fixtures/stylesheets/compass/images/flag/tt.png +0 -0
  416. data/test/fixtures/stylesheets/compass/images/flag/tv.png +0 -0
  417. data/test/fixtures/stylesheets/compass/images/flag/tw.png +0 -0
  418. data/test/fixtures/stylesheets/compass/images/flag/tz.png +0 -0
  419. data/test/fixtures/stylesheets/compass/images/flag/ua.png +0 -0
  420. data/test/fixtures/stylesheets/compass/images/flag/ug.png +0 -0
  421. data/test/fixtures/stylesheets/compass/images/flag/um.png +0 -0
  422. data/test/fixtures/stylesheets/compass/images/flag/us.png +0 -0
  423. data/test/fixtures/stylesheets/compass/images/flag/uy.png +0 -0
  424. data/test/fixtures/stylesheets/compass/images/flag/uz.png +0 -0
  425. data/test/fixtures/stylesheets/compass/images/flag/va.png +0 -0
  426. data/test/fixtures/stylesheets/compass/images/flag/vc.png +0 -0
  427. data/test/fixtures/stylesheets/compass/images/flag/ve.png +0 -0
  428. data/test/fixtures/stylesheets/compass/images/flag/vg.png +0 -0
  429. data/test/fixtures/stylesheets/compass/images/flag/vi.png +0 -0
  430. data/test/fixtures/stylesheets/compass/images/flag/vn.png +0 -0
  431. data/test/fixtures/stylesheets/compass/images/flag/vu.png +0 -0
  432. data/test/fixtures/stylesheets/compass/images/flag/wales.png +0 -0
  433. data/test/fixtures/stylesheets/compass/images/flag/wf.png +0 -0
  434. data/test/fixtures/stylesheets/compass/images/flag/ws.png +0 -0
  435. data/test/fixtures/stylesheets/compass/images/flag/ye.png +0 -0
  436. data/test/fixtures/stylesheets/compass/images/flag/yt.png +0 -0
  437. data/test/fixtures/stylesheets/compass/images/flag/za.png +0 -0
  438. data/test/fixtures/stylesheets/compass/images/flag/zm.png +0 -0
  439. data/test/fixtures/stylesheets/compass/images/flag/zw.png +0 -0
  440. data/test/fixtures/stylesheets/compass/images/flag-s5b4f509715.png +0 -0
  441. data/test/fixtures/stylesheets/compass/images/flag_states/foo.png +0 -0
  442. data/test/fixtures/stylesheets/compass/images/flag_states/foo_active.png +0 -0
  443. data/test/fixtures/stylesheets/compass/images/flag_states/foo_focus.png +0 -0
  444. data/test/fixtures/stylesheets/compass/images/flag_states/foo_hover.png +0 -0
  445. data/test/fixtures/stylesheets/compass/images/flag_states/foo_target.png +0 -0
  446. data/test/fixtures/stylesheets/compass/images/flag_states-sc42d7bf926.png +0 -0
  447. data/test/fixtures/stylesheets/compass/sass/animation-with-legacy-ie.scss +17 -0
  448. data/test/fixtures/stylesheets/compass/sass/animation.scss +13 -0
  449. data/test/fixtures/stylesheets/compass/sass/appearance.scss +5 -0
  450. data/test/fixtures/stylesheets/compass/sass/background-clip.scss +5 -0
  451. data/test/fixtures/stylesheets/compass/sass/background-origin.scss +5 -0
  452. data/test/fixtures/stylesheets/compass/sass/background-size.scss +7 -0
  453. data/test/fixtures/stylesheets/compass/sass/border_radius.scss +5 -0
  454. data/test/fixtures/stylesheets/compass/sass/box-sizing.scss +11 -0
  455. data/test/fixtures/stylesheets/compass/sass/box.sass +50 -0
  456. data/test/fixtures/stylesheets/compass/sass/box_shadow.scss +7 -0
  457. data/test/fixtures/stylesheets/compass/sass/brightness.scss +12 -0
  458. data/test/fixtures/stylesheets/compass/sass/browser-support.scss +30 -0
  459. data/test/fixtures/stylesheets/compass/sass/color.scss +25 -0
  460. data/test/fixtures/stylesheets/compass/sass/columns.scss +29 -0
  461. data/test/fixtures/stylesheets/compass/sass/filters.scss +25 -0
  462. data/test/fixtures/stylesheets/compass/sass/flexbox.scss +88 -0
  463. data/test/fixtures/stylesheets/compass/sass/fonts.sass +8 -0
  464. data/test/fixtures/stylesheets/compass/sass/force-wrap.scss +3 -0
  465. data/test/fixtures/stylesheets/compass/sass/gradients.sass +128 -0
  466. data/test/fixtures/stylesheets/compass/sass/grid_background.scss +34 -0
  467. data/test/fixtures/stylesheets/compass/sass/hyphenation.scss +11 -0
  468. data/test/fixtures/stylesheets/compass/sass/image_size.sass +15 -0
  469. data/test/fixtures/stylesheets/compass/sass/images.scss +9 -0
  470. data/test/fixtures/stylesheets/compass/sass/layout.sass +3 -0
  471. data/test/fixtures/stylesheets/compass/sass/legacy_clearfix.scss +14 -0
  472. data/test/fixtures/stylesheets/compass/sass/lists.scss +12 -0
  473. data/test/fixtures/stylesheets/compass/sass/opacity.scss +9 -0
  474. data/test/fixtures/stylesheets/compass/sass/print.sass +5 -0
  475. data/test/fixtures/stylesheets/compass/sass/regions.scss +4 -0
  476. data/test/fixtures/stylesheets/compass/sass/replacement.scss +22 -0
  477. data/test/fixtures/stylesheets/compass/sass/reset.sass +12 -0
  478. data/test/fixtures/stylesheets/compass/sass/selection.scss +41 -0
  479. data/test/fixtures/stylesheets/compass/sass/sprites_with_explicit_separator.scss +11 -0
  480. data/test/fixtures/stylesheets/compass/sass/stretching.sass +34 -0
  481. data/test/fixtures/stylesheets/compass/sass/support.scss +174 -0
  482. data/test/fixtures/stylesheets/compass/sass/text_shadow.scss +12 -0
  483. data/test/fixtures/stylesheets/compass/sass/transform.scss +87 -0
  484. data/test/fixtures/stylesheets/compass/sass/transition.scss +21 -0
  485. data/test/fixtures/stylesheets/compass/sass/typography/links/hover-link.scss +3 -0
  486. data/test/fixtures/stylesheets/compass/sass/units.scss +50 -0
  487. data/test/fixtures/stylesheets/compass/sass/user-interface.scss +28 -0
  488. data/test/fixtures/stylesheets/compass/sass/utilities.scss +33 -0
  489. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm.scss +60 -0
  490. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm_with_ems.scss +52 -0
  491. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm_with_px.scss +50 -0
  492. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm_with_rems.scss +50 -0
  493. data/test/fixtures/stylesheets/envtest/config.rb +9 -0
  494. data/test/fixtures/stylesheets/envtest/css/env.css +10 -0
  495. data/test/fixtures/stylesheets/envtest/sass/env.scss +19 -0
  496. data/test/fixtures/stylesheets/error/config.rb +10 -0
  497. data/test/fixtures/stylesheets/error/sass/screen.sass +2 -0
  498. data/test/fixtures/stylesheets/image_urls/config.rb +19 -0
  499. data/test/fixtures/stylesheets/image_urls/css/screen.css +5 -0
  500. data/test/fixtures/stylesheets/image_urls/images/grid.png +0 -0
  501. data/test/fixtures/stylesheets/image_urls/sass/screen.sass +8 -0
  502. data/test/fixtures/stylesheets/relative/assets/images/testing.png +0 -0
  503. data/test/fixtures/stylesheets/relative/config.rb +10 -0
  504. data/test/fixtures/stylesheets/relative/css/ie.css +1 -0
  505. data/test/fixtures/stylesheets/relative/css/print.css +1 -0
  506. data/test/fixtures/stylesheets/relative/css/screen.css +1 -0
  507. data/test/fixtures/stylesheets/relative/sass/ie.sass +5 -0
  508. data/test/fixtures/stylesheets/relative/sass/print.sass +3 -0
  509. data/test/fixtures/stylesheets/relative/sass/screen.sass +2 -0
  510. data/test/fixtures/stylesheets/sourcemaps/config.rb +10 -0
  511. data/test/fixtures/stylesheets/sourcemaps/css/another_simple.css +2 -0
  512. data/test/fixtures/stylesheets/sourcemaps/css/another_simple.css.map +7 -0
  513. data/test/fixtures/stylesheets/sourcemaps/css/simple.css +2 -0
  514. data/test/fixtures/stylesheets/sourcemaps/css/simple.css.map +7 -0
  515. data/test/fixtures/stylesheets/sourcemaps/css/with_libraries.css +2 -0
  516. data/test/fixtures/stylesheets/sourcemaps/css/with_libraries.css.map +7 -0
  517. data/test/fixtures/stylesheets/sourcemaps/sass/another_simple.scss +3 -0
  518. data/test/fixtures/stylesheets/sourcemaps/sass/simple.sass +2 -0
  519. data/test/fixtures/stylesheets/sourcemaps/sass/with_libraries.scss +5 -0
  520. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/config.rb +25 -0
  521. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/ie.scss +5 -0
  522. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/print.scss +3 -0
  523. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/screen.scss +6 -0
  524. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/ie.css +5 -0
  525. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/print.css +3 -0
  526. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/screen.css +68 -0
  527. data/test/fixtures/stylesheets/valid/config.rb +9 -0
  528. data/test/fixtures/stylesheets/valid/sass/another_simple.scss +3 -0
  529. data/test/fixtures/stylesheets/valid/sass/simple.sass +2 -0
  530. data/test/fixtures/stylesheets/with_sass_globbing/config.rb +26 -0
  531. data/test/fixtures/stylesheets/with_sass_globbing/css/screen.css +19 -0
  532. data/test/fixtures/stylesheets/with_sass_globbing/sass/partials/_1.scss +3 -0
  533. data/test/fixtures/stylesheets/with_sass_globbing/sass/partials/_2.scss +3 -0
  534. data/test/fixtures/stylesheets/with_sass_globbing/sass/partials/_3.scss +4 -0
  535. data/test/fixtures/stylesheets/with_sass_globbing/sass/screen.scss +3 -0
  536. data/test/helpers/command_line.rb +114 -0
  537. data/test/helpers/diff.rb +49 -0
  538. data/test/helpers/io.rb +36 -0
  539. data/test/helpers/rails.rb +55 -0
  540. data/test/helpers/test_case.rb +62 -0
  541. data/test/integrations/compass_test.rb +259 -0
  542. data/test/integrations/sprites_test.rb +1123 -0
  543. data/test/test_helper.rb +67 -0
  544. data/test/units/actions_test.rb +24 -0
  545. data/test/units/caniuse_test.rb +194 -0
  546. data/test/units/command_line_test.rb +60 -0
  547. data/test/units/compass_util_test.rb +11 -0
  548. data/test/units/compiler_test.rb +16 -0
  549. data/test/units/configuration_test.rb +618 -0
  550. data/test/units/regressions_test.rb +35 -0
  551. data/test/units/sass_extensions_test.rb +232 -0
  552. data/test/units/sass_extenstions/gradients_test.rb +30 -0
  553. data/test/units/sprites/engine_test.rb +48 -0
  554. data/test/units/sprites/image_row_test.rb +58 -0
  555. data/test/units/sprites/image_test.rb +116 -0
  556. data/test/units/sprites/images_test.rb +46 -0
  557. data/test/units/sprites/importer_test.rb +91 -0
  558. data/test/units/sprites/layout_test.rb +180 -0
  559. data/test/units/sprites/row_fitter_test.rb +66 -0
  560. data/test/units/sprites/sprite_command_test.rb +55 -0
  561. data/test/units/sprites/sprite_map_test.rb +169 -0
  562. metadata +1175 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 72b559bdd20a5842f7be146e7a3635a9bcc148857bed3e7159f06bb341b03b77
4
+ data.tar.gz: 3ed9d779a541384bb2f04c1683f98e388b82d2816edf8e17ae4df372e06dc761
5
+ SHA512:
6
+ metadata.gz: 2dcc92cac37a77eb87ca449c1c694c613fe10b8bcbe5ce6d5b93476ef2cc8c67b562c0cb40926ee157cbff33182c37daf4b4c99ca5d3c8ac188c9da4a0a5bec4
7
+ data.tar.gz: 30caa5e03d18ae016fef6a05bc4d620f9d705b3183ba961710176092d74bb7ab58a82c4f0071aba39e8f205bba1e633efd24ccda2986664609e50e237268ea16
data/LICENSE.markdown ADDED
@@ -0,0 +1 @@
1
+ ../LICENSE.markdown
data/Rakefile ADDED
@@ -0,0 +1,237 @@
1
+ sh "git checkout lib/compass/generated_version.rb"
2
+ require 'rubygems'
3
+ require 'rubygems/package_task'
4
+ require 'rake/testtask'
5
+ require 'fileutils'
6
+
7
+
8
+ if ENV["PKG"]
9
+ $: << File.expand_path(File.dirname(__FILE__))+"/lib"
10
+ else
11
+ require 'bundler/setup'
12
+ end
13
+
14
+ unless ENV['CI']
15
+ require 'colorize'
16
+ require 'fileutils'
17
+ end
18
+
19
+ begin
20
+ require 'rake/dsl_definition'
21
+ rescue LoadError
22
+ # pass
23
+ end
24
+
25
+ # ----- Default: Testing ------
26
+ task :default => [:test, :features]
27
+
28
+ begin
29
+ require 'cucumber'
30
+ require 'cucumber/rake/task'
31
+
32
+ Cucumber::Rake::Task.new(:features) do |t|
33
+ #t.cucumber_opts = %w{--format progress}
34
+ end
35
+ rescue LoadError
36
+ $stderr.puts "cannot load cucumber"
37
+ end
38
+
39
+ Rake::TestTask.new :test do |t|
40
+ t.libs << 'lib'
41
+ t.libs << 'test'
42
+ test_files = FileList['test/**/*_test.rb']
43
+ test_files.exclude('test/rails/*', 'test/haml/*')
44
+ t.test_files = test_files
45
+ t.verbose = true
46
+ end
47
+
48
+ Rake::TestTask.new :units do |t|
49
+ t.libs << 'lib'
50
+ t.libs << 'test'
51
+ test_files = FileList['test/units/**/*_test.rb']
52
+ test_files.exclude('test/rails/*', 'test/haml/*')
53
+ t.test_files = test_files
54
+ t.verbose = true
55
+ end
56
+
57
+ Rake::TestTask.new :integrations do |t|
58
+ t.libs << 'lib'
59
+ t.libs << 'test'
60
+ test_files = FileList['test/integrations/**/*_test.rb']
61
+ test_files.exclude('test/rails/*', 'test/haml/*')
62
+ t.test_files = test_files
63
+ t.verbose = true
64
+ end
65
+
66
+ namespace :git do
67
+ task :clean do
68
+ sh "git", "clean", "-fdx"
69
+ end
70
+ end
71
+
72
+
73
+ begin
74
+ require 'cucumber/rake/task'
75
+ require 'rcov/rcovtask'
76
+ namespace :rcov do
77
+ Cucumber::Rake::Task.new(:cucumber) do |t|
78
+ t.rcov = true
79
+ t.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/,features\/ --aggregate coverage.data}
80
+ t.rcov_opts << %[-o "coverage"]
81
+ end
82
+
83
+ Rcov::RcovTask.new(:units) do |rcov|
84
+ rcov.libs << 'lib'
85
+ test_files = FileList['test/**/*_test.rb']
86
+ test_files.exclude('test/rails/*', 'test/haml/*')
87
+ rcov.pattern = test_files
88
+ rcov.output_dir = 'coverage'
89
+ rcov.verbose = true
90
+ rcov.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/,features\/ --aggregate coverage.data}
91
+ rcov.rcov_opts << %[-o "coverage" --sort coverage]
92
+ end
93
+
94
+
95
+ desc "Run both specs and features to generate aggregated coverage"
96
+ task :all do |t|
97
+ rm "coverage.data" if File.exist?("coverage.data")
98
+ Rake::Task["rcov:units"].invoke
99
+ Rake::Task["rcov:cucumber"].invoke
100
+ end
101
+ end
102
+ rescue LoadError => e
103
+ puts "WARNING: #{e}"
104
+ end
105
+
106
+ namespace :test do
107
+ debug = false
108
+ desc "update test expectations if needed"
109
+ task :update do
110
+ Rake::Task['test:update:fixtures'].invoke
111
+ end
112
+ task :debug do
113
+ debug = true
114
+ Rake::Task['test:update:fixtures'].invoke
115
+ end
116
+ namespace :update do
117
+ EXPECTED = 'css'
118
+ TMP = 'tmp'
119
+ #desc "update fixture expectations for test cases if needed"
120
+ task :fixtures do
121
+ fixtures = File.join('test/fixtures/stylesheets/compass'.split('/'))
122
+ # remove any existing temporary files
123
+ FileUtils.rm_rf(File.join(File.dirname(__FILE__), fixtures, TMP, '.'))
124
+ # compile the fixtures
125
+ puts "checking test cases..."
126
+ CHECKMARK = "\u2713 "
127
+ filter = debug ? '--trace' : "| grep 'error.*#{fixtures}'"
128
+ errors = %x[compass compile #{fixtures} #{filter}]
129
+ # check for compilation errors
130
+ if not errors.empty?
131
+ puts "Please fix the following errors before proceeding:".colorize(:red) if not debug
132
+ puts errors
133
+ else
134
+ # check to see what's changed
135
+ diff = %x[diff -r #{File.join(fixtures, EXPECTED, '')} #{File.join(fixtures, TMP, '')}]
136
+ # ignore non-CSS files in css/
137
+ diff.gsub!(/^Only in .*\/css\/(.*)\:.*[^.]/, '')
138
+ if diff.empty?
139
+ puts "#{CHECKMARK}Cool! Looks like all the tests are up to date".colorize(:green)
140
+ else
141
+ puts "The following changes were found:"
142
+ puts "===================================="
143
+ # check for new or removed expectations
144
+ diff.scan(/^Only in .*\/(#{EXPECTED}|#{TMP})\/(.*)\: (.*).css/).each do |match|
145
+ config = (match[0] == TMP) ? [:green, '>', 'NEW TEST'] : [:red, '<', 'DELETED']
146
+ puts "[#{File.join(match[1], match[2])}] #{config[2].colorize(config[0])}".colorize(:cyan)
147
+ new_file = File.join(File.dirname(__FILE__), fixtures, match[0], match[1], match[2]) + '.css'
148
+ puts File.read(new_file).gsub(/^(.*)/, config[1] + ' \1').colorize(config[0])
149
+ end
150
+ diff = diff.gsub(/^diff\s\-r\s.*\/tmp\/(.*).css/, '[\1]'.colorize(:cyan))
151
+ diff = diff.gsub(/^Only in .*\n?/, '')
152
+ diff = diff.gsub(/^(\<.*)/, '\1'.colorize(:red))
153
+ diff = diff.gsub(/^(\>.*)/, '\1'.colorize(:green))
154
+ diff = diff.gsub(/^(\d+.*)/, '\1'.colorize(:cyan))
155
+ puts diff
156
+ puts "===================================="
157
+ puts "Are all of these changes expected? [y/n]".colorize(:yellow)
158
+ if (($stdin.gets.chomp)[0] == 'y')
159
+ FileUtils.rm_rf(File.join(File.dirname(__FILE__), fixtures, EXPECTED, '.'))
160
+ FileUtils.cp_r(File.join(File.dirname(__FILE__), fixtures, TMP, '.'), File.join(File.dirname(__FILE__), fixtures, EXPECTED))
161
+ puts "#{CHECKMARK}Thanks! The test expectations have been updated".colorize(:green)
162
+ else
163
+ puts "Please manually update the test cases and expectations".colorize(:red)
164
+ end
165
+ end
166
+ end
167
+ end
168
+ end
169
+ end
170
+
171
+ # Release tasks
172
+ gemspec_file = FileList['compass.gemspec'].first
173
+ spec = eval(File.read(gemspec_file), binding, gemspec_file)
174
+ spec.files.delete("VERSION")
175
+ spec.files.delete("VERSION_NAME")
176
+
177
+ def spec.bump!
178
+ segments = version.to_s.split(".")
179
+ segments[-1] = segments.last.succ
180
+ self.version = Gem::Version.new(segments.join("."))
181
+ end
182
+
183
+ # Set SAME_VERSION when moving to a new major version and you want to specify the new version
184
+ # explicitly instead of bumping the current version.
185
+ # E.g. rake build SAME_VERSION=true
186
+ spec.bump! unless ENV["SAME_VERSION"]
187
+
188
+ desc "Run tests and build compass-#{spec.version}.gem"
189
+ task :build => [:default, :gem]
190
+
191
+ task :gem => :release_version
192
+
193
+ task :release_version do
194
+ open("lib/compass/generated_version.rb", "w") do |f|
195
+ f.write(<<VERSION_EOF)
196
+ module Compass
197
+ VERSION = "#{spec.version}"
198
+ VERSION_NAME = "#{File.read('VERSION_NAME').strip}"
199
+ end
200
+ VERSION_EOF
201
+ end
202
+ end
203
+
204
+ desc "Make the prebuilt gem compass-#{spec.version}.gem public."
205
+ task :publish => [:record_version, :push_gem, :tag]
206
+
207
+ desc "Build & Publish version #{spec.version}"
208
+ task :release => [:build, :publish]
209
+
210
+ Gem::PackageTask.new(spec) do |pkg|
211
+ pkg.need_zip = true
212
+ pkg.need_tar = true
213
+ end
214
+
215
+ desc "Record the new version in version control for posterity"
216
+ task :record_version do
217
+ unless ENV["SAME_VERSION"]
218
+ open(FileList["VERSION"].first, "w") do |f|
219
+ f.write(spec.version.to_s)
220
+ end
221
+ sh "git add VERSION"
222
+ sh "git checkout lib/compass/generated_version.rb"
223
+ sh %Q{git commit -m "Bump version to #{spec.version}."}
224
+ end
225
+ end
226
+
227
+ desc "Tag the repo as #{spec.version} and push the code and tag."
228
+ task :tag do
229
+ sh "git tag -a -m 'Version #{spec.version}' #{spec.version}"
230
+ sh "git push --tags origin #{`git rev-parse --abbrev-ref HEAD`}"
231
+ end
232
+
233
+ desc "Push compass-#{spec.version}.gem to the rubygems server"
234
+ task :push_gem do
235
+ sh "gem push pkg/compass-#{spec.version}.gem"
236
+ end
237
+
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.1.0
data/VERSION_NAME ADDED
@@ -0,0 +1 @@
1
+ Polaris
data/bin/compass ADDED
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env ruby
2
+ # The compass command line utility
3
+
4
+ # This allows compass to run easily from a git checkout without install.
5
+ def fallback_load_path(path)
6
+ retried = false
7
+ begin
8
+ yield
9
+ rescue LoadError
10
+ unless retried
11
+ $: << path
12
+ retried = true
13
+ retry
14
+ end
15
+ raise
16
+ end
17
+ end
18
+
19
+ fallback_load_path(File.join(File.dirname(__FILE__), '..', 'lib')) do
20
+ require 'compass'
21
+ require 'compass/exec'
22
+ end
23
+
24
+ if defined?(Bundler)
25
+ require 'bundler/shared_helpers'
26
+ Bundler.require :assets if Bundler::SharedHelpers.in_bundle?
27
+ end
28
+
29
+ runner = Proc.new do
30
+ Compass::Exec::SubCommandUI.new(ARGV).run!
31
+ end
32
+
33
+ if ARGV.delete("--profile")
34
+ require 'ruby-prof'
35
+ RubyProf.start
36
+ exit_code = runner.call
37
+ result = RubyProf.stop
38
+
39
+ # Print a flat profile to text
40
+ printer = RubyProf::FlatPrinter.new(result)
41
+ printer.print(STDERR, 0)
42
+ exit exit_code
43
+ else
44
+ exit runner.call || 1
45
+ end
@@ -0,0 +1,195 @@
1
+ Feature: Command Line
2
+ In order to manage my stylesheets
3
+ As a user on the command line
4
+ I want to create a new project
5
+
6
+ Scenario: Install a project without a framework
7
+ When I create a project using: compass create my_project
8
+ Then a directory my_project/ is created
9
+ And a configuration file my_project/config.rb is created
10
+ And a sass file my_project/sass/screen.scss is created
11
+ And a sass file my_project/sass/print.scss is created
12
+ And a sass file my_project/sass/ie.scss is created
13
+ And a css file my_project/stylesheets/screen.css is created
14
+ And a css file my_project/stylesheets/print.css is created
15
+ And a css file my_project/stylesheets/ie.css is created
16
+ And I am told how to link to /stylesheets/screen.css for media "screen, projection"
17
+ And I am told how to link to /stylesheets/print.css for media "print"
18
+ And I am told how to conditionally link "IE" to /stylesheets/ie.css for media "screen, projection"
19
+
20
+ Scenario: Install a project with specific directories
21
+ When I create a project using: compass create custom_project --using compass --sass-dir sass --css-dir css --images-dir assets/imgs
22
+ Then a directory custom_project/ is created
23
+ And a directory custom_project/sass/ is created
24
+ And a directory custom_project/css/ is created
25
+ And a sass file custom_project/sass/screen.scss is created
26
+ And a css file custom_project/css/screen.css is created
27
+
28
+ Scenario: Creating a bare project
29
+ When I create a project using: compass create bare_project --bare
30
+ Then a directory bare_project/ is created
31
+ And a configuration file bare_project/config.rb is created
32
+ And a directory bare_project/sass/ is created
33
+ And a directory bare_project/stylesheets/ is not created
34
+ And I am congratulated
35
+ And I am told that I can place stylesheets in the sass subdirectory
36
+ And I am told how to compile my sass stylesheets
37
+
38
+ Scenario: Compiling a project with errors
39
+ Given I am using the existing project in test/fixtures/stylesheets/valid
40
+ And the project has a file named "sass/error.scss" containing:
41
+ """
42
+ .broken {
43
+ """
44
+ When I run: compass compile
45
+ Then the command exits with a non-zero error code
46
+
47
+ Scenario: Creating a bare project with a framework
48
+ When I create a project using: compass create bare_project --using blueprint --bare
49
+ Then an error message is printed out: A bare project cannot be created when a framework is specified.
50
+ And the command exits with a non-zero error code
51
+
52
+ Scenario: Compiling an existing project.
53
+ Given I am using the existing project in test/fixtures/stylesheets/valid
54
+ When I run: compass compile
55
+ Then a directory tmp/ is created
56
+ And a css file tmp/simple.css is created
57
+
58
+ Scenario: Compiling an existing project with a specified project
59
+ Given I am using the existing project in test/fixtures/stylesheets/valid
60
+ And I am in the parent directory
61
+ When I run: compass compile tmp_valid
62
+ Then a directory tmp_valid/tmp/ is created
63
+ And a css file tmp_valid/tmp/simple.css is created
64
+
65
+ Scenario: Recompiling a project with no changes
66
+ Given I am using the existing project in test/fixtures/stylesheets/valid
67
+ When I run: compass compile
68
+ And I run: compass compile
69
+
70
+ Scenario: compiling a specific file in a project
71
+ Given I am using the existing project in test/fixtures/stylesheets/valid
72
+ And I run: compass compile sass/simple.sass
73
+ Then a sass file sass/another_simple.scss is not mentioned
74
+ And a css file tmp/simple.css is reported written
75
+ And a css file tmp/simple.css is created
76
+ And a css file tmp/another_simple.css is not created
77
+
78
+ Scenario: Re-compiling a specific file in a project with no changes
79
+ Given I am using the existing project in test/fixtures/stylesheets/valid
80
+ When I run: compass compile
81
+ And I run: compass compile sass/simple.sass --force
82
+ Then a sass file sass/another_simple.scss is not mentioned
83
+ And a css file tmp/simple.css is reported written
84
+
85
+ Scenario: Basic help
86
+ When I run: compass help
87
+ Then I should see the following "primary" commands:
88
+ | clean |
89
+ | compile |
90
+ | create |
91
+ | init |
92
+ | watch |
93
+ And I should see the following "other" commands:
94
+ | config |
95
+ | extension |
96
+ | frameworks |
97
+ | help |
98
+ | imports |
99
+ | install |
100
+ | interactive |
101
+ | sprite |
102
+ | stats |
103
+ | unpack |
104
+ | validate |
105
+ | version |
106
+
107
+ Scenario: Recompiling a project with no material changes
108
+ Given I am using the existing project in test/fixtures/stylesheets/valid
109
+ When I run: compass compile
110
+ And I wait 1 second
111
+ And I touch sass/simple.sass
112
+ And I run: compass compile
113
+ Then a css file tmp/simple.css is reported written
114
+
115
+ Scenario: Recompiling a project with changes
116
+ Given I am using the existing project in test/fixtures/stylesheets/valid
117
+ When I run: compass compile
118
+ And I wait 1 second
119
+ And I add some sass to sass/simple.sass
120
+ And I run: compass compile
121
+ And a css file tmp/simple.css is reported written
122
+
123
+ Scenario: Cleaning a project
124
+ Given I am using the existing project in test/fixtures/stylesheets/valid
125
+ When I run: compass compile
126
+ And I run: compass clean
127
+ Then the following files are reported removed:
128
+ | .sass-cache/ |
129
+ | tmp/simple.css |
130
+ | tmp/another_simple.css |
131
+ And the following files are removed:
132
+ | .sass-cache/ |
133
+ | tmp/simple.css |
134
+ | tmp/another_simple.css |
135
+
136
+ @now
137
+ Scenario: Watching a project for changes
138
+ Given ruby supports fork
139
+ Given I am using the existing project in test/fixtures/stylesheets/valid
140
+ When I run: compass compile
141
+ And I run in a separate process: compass watch
142
+ And I wait 4 seconds
143
+ And I touch sass/simple.sass
144
+ And I wait 2 seconds
145
+ And I shutdown the other process
146
+ Then a css file tmp/simple.css is reported written
147
+
148
+ Scenario: Generate a compass configuration file
149
+ Given I should clean up the directory: config
150
+ When I run: compass config config/compass.rb --sass-dir sass --css-dir assets/css
151
+ Then a configuration file config/compass.rb is created
152
+ And the following configuration properties are set in config/compass.rb:
153
+ | property | value |
154
+ | sass_dir | sass |
155
+ | css_dir | assets/css |
156
+
157
+ Scenario Outline: Print out a configuration value
158
+ Given I am using the existing project in test/fixtures/stylesheets/valid
159
+ When I run: compass config -p <property>
160
+ Then I should see the following output: <value>
161
+ And the command exits <exit>
162
+
163
+ Examples:
164
+ | property | value | exit |
165
+ | extensions_dir | extensions | normally |
166
+ | extensions_path | $PROJECT_PATH/extensions | normally |
167
+ | css_dir | tmp | normally |
168
+ | css_path | $PROJECT_PATH/tmp | normally |
169
+ | sass_dir | sass | normally |
170
+ | sass_path | $PROJECT_PATH/sass | normally |
171
+ | foobar | ERROR: configuration property 'foobar' does not exist | with a non-zero error code |
172
+
173
+ @validator
174
+ Scenario: Validate the generated CSS
175
+ Given I am using the existing project in test/fixtures/stylesheets/valid
176
+ When I run: compass validate
177
+ Then my css is validated
178
+ And I am informed that my css is valid.
179
+
180
+ @stats
181
+ Scenario: Get stats for my project
182
+ Given I am using the existing project in test/fixtures/stylesheets/valid
183
+ When I run: bundle exec compass stats
184
+ Then I am told statistics for each file:
185
+ | Filename | Rules | Properties | Mixins Defs | Mixins Used | Filesize | CSS Selectors | CSS Properties | CSS Filesize |
186
+ | sass/simple.sass | \d+ | \d+ | \d+ | \d+ | \d+ K?B | \d+ | \d+ | \d+ K?B |
187
+ | sass/another_simple.scss | \d+ | \d+ | \d+ | \d+ | \d+ K?B | \d+ | \d+ | \d+ K?B |
188
+ | Total.* | \d+ | \d+ | \d+ | \d+ | \d+ K?B | \d+ | \d+ | \d+ K?B |
189
+
190
+ @listframeworks
191
+ Scenario: List frameworks registered with compass
192
+ When I run: compass frameworks
193
+ Then I should see the following lines of output:
194
+ | compass |
195
+
@@ -0,0 +1,27 @@
1
+ Feature: Extensions
2
+ In order to have an open source ecosystem for stylesheets
3
+ As a compass user
4
+ I can install extensions that others have created
5
+ And I can create and publish my own extensions
6
+
7
+ @listframeworks
8
+ Scenario: Extensions directory for stand_alone projects
9
+ Given I am using the existing project in test/fixtures/stylesheets/compass
10
+ And the "extensions" directory exists
11
+ And and I have a fake extension at extensions/testing
12
+ When I run: compass frameworks
13
+ Then the list of frameworks includes "testing"
14
+
15
+ @listframeworks
16
+ Scenario: Shared extensions directory
17
+ Given the "~/.compass/extensions" directory exists
18
+ And and I have a fake extension at ~/.compass/extensions/testing
19
+ And I am using the existing project in test/fixtures/stylesheets/compass
20
+ When I run: compass frameworks
21
+ Then the list of frameworks includes "testing"
22
+
23
+ @listframeworks
24
+ Scenario: Frameworks without templates
25
+ Given I am using the existing project in test/fixtures/stylesheets/uses_only_stylesheets_ext
26
+ When I run: compass frameworks
27
+ Then the list of frameworks includes "only_stylesheets"