compass-sourcemaps 0.12.3.sourcemaps.a4836f1 → 0.12.4.sourcemaps.a4836f1

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 (495) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.markdown +29 -29
  3. data/README.markdown +39 -39
  4. data/Rakefile +157 -157
  5. data/VERSION.yml +5 -5
  6. data/bin/compass +45 -45
  7. data/examples/README.markdown +3 -3
  8. data/examples/blueprint_default/config.rb +7 -7
  9. data/examples/blueprint_default/index.html.haml +85 -85
  10. data/examples/blueprint_default/parts/elements.html.haml +282 -282
  11. data/examples/blueprint_default/parts/forms.html.haml +200 -200
  12. data/examples/blueprint_default/parts/grid.html.haml +274 -274
  13. data/examples/blueprint_default/src/ie.scss +3 -3
  14. data/examples/blueprint_default/src/print.scss +3 -3
  15. data/examples/blueprint_default/src/screen.scss +9 -9
  16. data/examples/blueprint_plugins/config.rb +8 -8
  17. data/examples/blueprint_plugins/index.html.haml +96 -96
  18. data/examples/blueprint_plugins/plugins/buttons.html.haml +67 -67
  19. data/examples/blueprint_plugins/plugins/fancy_type.html.haml +100 -100
  20. data/examples/blueprint_plugins/plugins/link_icons.html.haml +61 -61
  21. data/examples/blueprint_plugins/plugins/rtl.html.haml +100 -100
  22. data/examples/blueprint_plugins/src/buttons.scss +47 -47
  23. data/examples/blueprint_plugins/src/ie.scss +3 -3
  24. data/examples/blueprint_plugins/src/link_icons.scss +13 -13
  25. data/examples/blueprint_plugins/src/print.scss +3 -3
  26. data/examples/blueprint_plugins/src/rtl_screen.scss +15 -15
  27. data/examples/blueprint_plugins/src/screen.scss +12 -12
  28. data/examples/blueprint_scoped/src/ie.scss +4 -4
  29. data/examples/blueprint_scoped/src/print.scss +4 -4
  30. data/examples/blueprint_scoped/src/screen.scss +5 -5
  31. data/examples/blueprint_scoped_form/src/ie.scss +3 -3
  32. data/examples/blueprint_scoped_form/src/print.scss +3 -3
  33. data/examples/blueprint_scoped_form/src/screen.scss +15 -15
  34. data/examples/blueprint_semantic/config.rb +7 -7
  35. data/examples/blueprint_semantic/index.html.haml +86 -86
  36. data/examples/blueprint_semantic/parts/fancy_type.html.haml +100 -100
  37. data/examples/blueprint_semantic/parts/liquid.html.haml +100 -100
  38. data/examples/blueprint_semantic/src/ie.scss +3 -3
  39. data/examples/blueprint_semantic/src/liquid.scss +69 -69
  40. data/examples/blueprint_semantic/src/print.scss +3 -3
  41. data/examples/blueprint_semantic/src/screen.scss +69 -69
  42. data/examples/compass/bootstrap.rb +3 -3
  43. data/examples/compass/clean.rb +1 -1
  44. data/examples/compass/compass.html.haml +39 -39
  45. data/examples/compass/config.rb +8 -8
  46. data/examples/compass/pie.html.haml +73 -73
  47. data/examples/compass/sprites.html.haml +37 -37
  48. data/examples/compass/src/bp_layout.scss +18 -18
  49. data/examples/compass/src/compass.scss +46 -46
  50. data/examples/compass/src/pie.scss +110 -110
  51. data/examples/compass/src/sprites.scss +24 -24
  52. data/examples/compass/src/sticky_footer.scss +11 -11
  53. data/examples/compass/src/utilities.scss +108 -108
  54. data/examples/compass/sticky_footer.html.haml +13 -13
  55. data/examples/compass/utilities.html.haml +189 -189
  56. data/examples/css3/bootstrap.rb +3 -3
  57. data/examples/css3/clean.rb +2 -2
  58. data/examples/css3/config.rb +6 -6
  59. data/examples/css3/extensions/fancy-fonts/templates/project/fancy-fonts.sass +10 -10
  60. data/examples/css3/extensions/fancy-fonts/templates/project/manifest.rb +6 -6
  61. data/examples/css3/gradients.html.haml +68 -68
  62. data/examples/css3/index.html.haml +57 -57
  63. data/examples/css3/src/_base.scss +13 -13
  64. data/examples/css3/src/fancy-fonts.scss +13 -13
  65. data/examples/css3/src/gradients.scss +85 -85
  66. data/examples/css3/src/main.scss +108 -108
  67. data/examples/downloader.rb +58 -58
  68. data/examples/ninesixty/bootstrap.rb +4 -4
  69. data/examples/ninesixty/clean.rb +1 -1
  70. data/examples/ninesixty/config.rb +9 -9
  71. data/examples/ninesixty/src/grid.scss +15 -15
  72. data/examples/ninesixty/src/text.scss +8 -8
  73. data/examples/susy/bootstrap.rb +3 -3
  74. data/examples/susy/clean.rb +1 -1
  75. data/examples/susy/config.rb +9 -9
  76. data/examples/susy/src/_base.scss +61 -61
  77. data/examples/susy/src/_defaults.scss +140 -140
  78. data/examples/susy/src/screen.scss +100 -100
  79. data/examples/yui/bootstrap.rb +2 -2
  80. data/examples/yui/clean.rb +1 -1
  81. data/examples/yui/divisions.html.haml +179 -179
  82. data/examples/yui/index.html.haml +19 -19
  83. data/examples/yui/src/screen.scss +13 -13
  84. data/examples/yui/sub_divisions.html.haml +169 -169
  85. data/examples/yui/templates.html.haml +54 -54
  86. data/examples/yui/typography.html.haml +132 -132
  87. data/features/command_line.feature +292 -292
  88. data/features/extensions.feature +27 -27
  89. data/features/step_definitions/command_line_steps.rb +268 -268
  90. data/features/step_definitions/extension_steps.rb +24 -24
  91. data/frameworks/blueprint/stylesheets/_blueprint.scss +37 -37
  92. data/frameworks/blueprint/stylesheets/blueprint/_buttons.scss +100 -100
  93. data/frameworks/blueprint/stylesheets/blueprint/_colors.scss +36 -36
  94. data/frameworks/blueprint/stylesheets/blueprint/_debug.scss +28 -28
  95. data/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss +88 -88
  96. data/frameworks/blueprint/stylesheets/blueprint/_form.scss +66 -66
  97. data/frameworks/blueprint/stylesheets/blueprint/_grid.scss +258 -258
  98. data/frameworks/blueprint/stylesheets/blueprint/_ie.scss +111 -111
  99. data/frameworks/blueprint/stylesheets/blueprint/_interaction.scss +66 -66
  100. data/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss +37 -37
  101. data/frameworks/blueprint/stylesheets/blueprint/_liquid.scss +152 -152
  102. data/frameworks/blueprint/stylesheets/blueprint/_print.scss +86 -86
  103. data/frameworks/blueprint/stylesheets/blueprint/_reset.scss +2 -2
  104. data/frameworks/blueprint/stylesheets/blueprint/_rtl.scss +121 -121
  105. data/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss +52 -52
  106. data/frameworks/blueprint/stylesheets/blueprint/_typography.scss +90 -90
  107. data/frameworks/blueprint/stylesheets/blueprint/_utilities.scss +37 -37
  108. data/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss +83 -83
  109. data/frameworks/blueprint/templates/basic/ie.sass +4 -4
  110. data/frameworks/blueprint/templates/basic/manifest.rb +30 -30
  111. data/frameworks/blueprint/templates/basic/partials/_base.sass +10 -10
  112. data/frameworks/blueprint/templates/basic/print.sass +4 -4
  113. data/frameworks/blueprint/templates/basic/screen.sass +12 -12
  114. data/frameworks/blueprint/templates/buttons/buttons.sass +49 -49
  115. data/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
  116. data/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
  117. data/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
  118. data/frameworks/blueprint/templates/buttons/manifest.rb +17 -17
  119. data/frameworks/blueprint/templates/link_icons/link_icons.sass +13 -13
  120. data/frameworks/blueprint/templates/link_icons/manifest.rb +23 -23
  121. data/frameworks/blueprint/templates/project/ie.sass +16 -16
  122. data/frameworks/blueprint/templates/project/manifest.rb +30 -30
  123. data/frameworks/blueprint/templates/project/partials/_base.sass +11 -11
  124. data/frameworks/blueprint/templates/project/print.sass +7 -7
  125. data/frameworks/blueprint/templates/project/screen.sass +46 -46
  126. data/frameworks/blueprint/templates/semantic/ie.sass +16 -16
  127. data/frameworks/blueprint/templates/semantic/manifest.rb +33 -33
  128. data/frameworks/blueprint/templates/semantic/partials/_base.sass +10 -10
  129. data/frameworks/blueprint/templates/semantic/partials/_form.sass +5 -5
  130. data/frameworks/blueprint/templates/semantic/partials/_page.sass +17 -17
  131. data/frameworks/blueprint/templates/semantic/partials/_two_col.sass +38 -38
  132. data/frameworks/blueprint/templates/semantic/print.sass +4 -4
  133. data/frameworks/blueprint/templates/semantic/screen.sass +14 -14
  134. data/frameworks/compass/stylesheets/_compass.scss +3 -3
  135. data/frameworks/compass/stylesheets/_lemonade.scss +37 -37
  136. data/frameworks/compass/stylesheets/compass/_css3.scss +20 -20
  137. data/frameworks/compass/stylesheets/compass/_layout.scss +3 -3
  138. data/frameworks/compass/stylesheets/compass/_reset-legacy.scss +3 -3
  139. data/frameworks/compass/stylesheets/compass/_reset.scss +3 -3
  140. data/frameworks/compass/stylesheets/compass/_support.scss +40 -40
  141. data/frameworks/compass/stylesheets/compass/_typography.scss +4 -4
  142. data/frameworks/compass/stylesheets/compass/_utilities.scss +9 -9
  143. data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +17 -17
  144. data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +43 -43
  145. data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +42 -42
  146. data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +26 -26
  147. data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +130 -130
  148. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +76 -76
  149. data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +13 -13
  150. data/frameworks/compass/stylesheets/compass/css3/_box.scss +111 -111
  151. data/frameworks/compass/stylesheets/compass/css3/_columns.scss +156 -156
  152. data/frameworks/compass/stylesheets/compass/css3/_filter.scss +23 -23
  153. data/frameworks/compass/stylesheets/compass/css3/_font-face.scss +48 -48
  154. data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +77 -77
  155. data/frameworks/compass/stylesheets/compass/css3/_images.scss +132 -132
  156. data/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +22 -22
  157. data/frameworks/compass/stylesheets/compass/css3/_opacity.scss +19 -19
  158. data/frameworks/compass/stylesheets/compass/css3/_pie.scss +72 -72
  159. data/frameworks/compass/stylesheets/compass/css3/_regions.scss +21 -21
  160. data/frameworks/compass/stylesheets/compass/css3/_shared.scss +38 -38
  161. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +87 -87
  162. data/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss +87 -87
  163. data/frameworks/compass/stylesheets/compass/css3/_transform.scss +598 -598
  164. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +221 -221
  165. data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +17 -17
  166. data/frameworks/compass/stylesheets/compass/layout/_grid-background.scss +178 -178
  167. data/frameworks/compass/stylesheets/compass/layout/_sticky-footer.scss +23 -23
  168. data/frameworks/compass/stylesheets/compass/layout/_stretching.scss +23 -23
  169. data/frameworks/compass/stylesheets/compass/reset/_utilities-legacy.scss +135 -135
  170. data/frameworks/compass/stylesheets/compass/reset/_utilities.scss +142 -142
  171. data/frameworks/compass/stylesheets/compass/typography/_links.scss +3 -3
  172. data/frameworks/compass/stylesheets/compass/typography/_lists.scss +4 -4
  173. data/frameworks/compass/stylesheets/compass/typography/_text.scss +4 -4
  174. data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +221 -221
  175. data/frameworks/compass/stylesheets/compass/typography/links/_hover-link.scss +5 -5
  176. data/frameworks/compass/stylesheets/compass/typography/links/_link-colors.scss +28 -28
  177. data/frameworks/compass/stylesheets/compass/typography/links/_unstyled-link.scss +7 -7
  178. data/frameworks/compass/stylesheets/compass/typography/lists/_bullets.scss +34 -34
  179. data/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss +61 -61
  180. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-block-list.scss +50 -50
  181. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-list.scss +44 -44
  182. data/frameworks/compass/stylesheets/compass/typography/text/_ellipsis.scss +25 -25
  183. data/frameworks/compass/stylesheets/compass/typography/text/_force-wrap.scss +12 -12
  184. data/frameworks/compass/stylesheets/compass/typography/text/_nowrap.scss +2 -2
  185. data/frameworks/compass/stylesheets/compass/typography/text/_replacement.scss +68 -68
  186. data/frameworks/compass/stylesheets/compass/utilities/_general.scss +6 -6
  187. data/frameworks/compass/stylesheets/compass/utilities/_links.scss +5 -5
  188. data/frameworks/compass/stylesheets/compass/utilities/_lists.scss +6 -6
  189. data/frameworks/compass/stylesheets/compass/utilities/_print.scss +17 -17
  190. data/frameworks/compass/stylesheets/compass/utilities/_sprites.scss +2 -2
  191. data/frameworks/compass/stylesheets/compass/utilities/_tables.scss +3 -3
  192. data/frameworks/compass/stylesheets/compass/utilities/_text.scss +5 -5
  193. data/frameworks/compass/stylesheets/compass/utilities/color/_contrast.scss +27 -27
  194. data/frameworks/compass/stylesheets/compass/utilities/general/_clearfix.scss +44 -44
  195. data/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +29 -29
  196. data/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +46 -46
  197. data/frameworks/compass/stylesheets/compass/utilities/general/_min.scss +16 -16
  198. data/frameworks/compass/stylesheets/compass/utilities/general/_reset.scss +1 -1
  199. data/frameworks/compass/stylesheets/compass/utilities/general/_tabs.scss +1 -1
  200. data/frameworks/compass/stylesheets/compass/utilities/general/_tag-cloud.scss +18 -18
  201. data/frameworks/compass/stylesheets/compass/utilities/links/_hover-link.scss +3 -3
  202. data/frameworks/compass/stylesheets/compass/utilities/links/_link-colors.scss +3 -3
  203. data/frameworks/compass/stylesheets/compass/utilities/links/_unstyled-link.scss +3 -3
  204. data/frameworks/compass/stylesheets/compass/utilities/lists/_bullets.scss +3 -3
  205. data/frameworks/compass/stylesheets/compass/utilities/lists/_horizontal-list.scss +3 -3
  206. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +3 -3
  207. data/frameworks/compass/stylesheets/compass/utilities/lists/_inline-list.scss +3 -3
  208. data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +65 -65
  209. data/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite-img.scss +78 -78
  210. data/frameworks/compass/stylesheets/compass/utilities/tables/_alternating-rows-and-columns.scss +22 -22
  211. data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +33 -33
  212. data/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.scss +9 -9
  213. data/frameworks/compass/stylesheets/compass/utilities/text/_ellipsis.scss +3 -3
  214. data/frameworks/compass/stylesheets/compass/utilities/text/_nowrap.scss +3 -3
  215. data/frameworks/compass/stylesheets/compass/utilities/text/_replacement.scss +3 -3
  216. data/frameworks/compass/templates/ellipsis/ellipsis.sass +8 -8
  217. data/frameworks/compass/templates/ellipsis/manifest.rb +26 -26
  218. data/frameworks/compass/templates/ellipsis/xml/ellipsis.xml +13 -13
  219. data/frameworks/compass/templates/extension/manifest.rb +26 -26
  220. data/frameworks/compass/templates/extension/stylesheets/main.sass +1 -1
  221. data/frameworks/compass/templates/extension/templates/project/manifest.rb +2 -2
  222. data/frameworks/compass/templates/extension/templates/project/screen.sass +1 -1
  223. data/frameworks/compass/templates/pie/LICENSE +12 -12
  224. data/frameworks/compass/templates/pie/LICENSE-APACHE2.txt +13 -13
  225. data/frameworks/compass/templates/pie/LICENSE-GPL2.txt +277 -277
  226. data/frameworks/compass/templates/pie/PIE.htc +96 -96
  227. data/frameworks/compass/templates/pie/manifest.rb +39 -39
  228. data/frameworks/compass/templates/pie/pie.scss +73 -73
  229. data/frameworks/compass/templates/project/USAGE.markdown +32 -32
  230. data/frameworks/compass/templates/project/ie.sass +6 -6
  231. data/frameworks/compass/templates/project/manifest.rb +3 -3
  232. data/frameworks/compass/templates/project/print.sass +6 -6
  233. data/frameworks/compass/templates/project/screen.sass +7 -7
  234. data/lib/compass.rb +37 -37
  235. data/lib/compass/actions.rb +115 -115
  236. data/lib/compass/app_integration.rb +39 -39
  237. data/lib/compass/app_integration/rails.rb +18 -18
  238. data/lib/compass/app_integration/stand_alone.rb +22 -22
  239. data/lib/compass/app_integration/stand_alone/configuration_defaults.rb +32 -32
  240. data/lib/compass/app_integration/stand_alone/installer.rb +83 -83
  241. data/lib/compass/browser_support.rb +62 -62
  242. data/lib/compass/commands.rb +12 -12
  243. data/lib/compass/commands/base.rb +44 -44
  244. data/lib/compass/commands/clean_project.rb +79 -79
  245. data/lib/compass/commands/create_project.rb +131 -131
  246. data/lib/compass/commands/default.rb +50 -50
  247. data/lib/compass/commands/extension_command.rb +60 -60
  248. data/lib/compass/commands/generate_grid_background.rb +96 -96
  249. data/lib/compass/commands/help.rb +85 -85
  250. data/lib/compass/commands/imports.rb +35 -35
  251. data/lib/compass/commands/installer_command.rb +32 -32
  252. data/lib/compass/commands/interactive.rb +61 -61
  253. data/lib/compass/commands/list_frameworks.rb +38 -38
  254. data/lib/compass/commands/print_version.rb +99 -99
  255. data/lib/compass/commands/project_base.rb +103 -103
  256. data/lib/compass/commands/project_stats.rb +178 -178
  257. data/lib/compass/commands/project_structure.rb +93 -93
  258. data/lib/compass/commands/registry.rb +40 -40
  259. data/lib/compass/commands/sprite.rb +89 -89
  260. data/lib/compass/commands/stamp_pattern.rb +90 -90
  261. data/lib/compass/commands/unpack_extension.rb +120 -120
  262. data/lib/compass/commands/update_project.rb +139 -139
  263. data/lib/compass/commands/validate_project.rb +77 -77
  264. data/lib/compass/commands/watch_project.rb +170 -170
  265. data/lib/compass/commands/write_configuration.rb +125 -125
  266. data/lib/compass/compiler.rb +200 -200
  267. data/lib/compass/configuration.rb +91 -91
  268. data/lib/compass/configuration/adapters.rb +77 -77
  269. data/lib/compass/configuration/comments.rb +59 -59
  270. data/lib/compass/configuration/data.rb +193 -193
  271. data/lib/compass/configuration/defaults.rb +187 -187
  272. data/lib/compass/configuration/file_data.rb +21 -21
  273. data/lib/compass/configuration/helpers.rb +160 -160
  274. data/lib/compass/configuration/inheritance.rb +304 -304
  275. data/lib/compass/configuration/paths.rb +19 -19
  276. data/lib/compass/configuration/serialization.rb +88 -88
  277. data/lib/compass/dependencies.rb +12 -12
  278. data/lib/compass/errors.rb +11 -11
  279. data/lib/compass/exec.rb +23 -23
  280. data/lib/compass/exec/command_option_parser.rb +23 -23
  281. data/lib/compass/exec/global_options_parser.rb +63 -63
  282. data/lib/compass/exec/helpers.rb +21 -21
  283. data/lib/compass/exec/project_options_parser.rb +66 -66
  284. data/lib/compass/exec/sub_command_ui.rb +51 -51
  285. data/lib/compass/exec/switch_ui.rb +179 -179
  286. data/lib/compass/frameworks.rb +133 -133
  287. data/lib/compass/grid_builder.rb +102 -102
  288. data/lib/compass/installers.rb +3 -3
  289. data/lib/compass/installers/bare_installer.rb +58 -58
  290. data/lib/compass/installers/base.rb +187 -187
  291. data/lib/compass/installers/manifest.rb +161 -161
  292. data/lib/compass/installers/manifest_installer.rb +61 -61
  293. data/lib/compass/installers/template_context.rb +43 -43
  294. data/lib/compass/logger.rb +103 -103
  295. data/lib/compass/quick_cache.rb +15 -15
  296. data/lib/compass/rails.rb +2 -2
  297. data/lib/compass/sass_extensions.rb +10 -10
  298. data/lib/compass/sass_extensions/functions.rb +34 -34
  299. data/lib/compass/sass_extensions/functions/colors.rb +67 -67
  300. data/lib/compass/sass_extensions/functions/constants.rb +74 -74
  301. data/lib/compass/sass_extensions/functions/cross_browser_support.rb +70 -70
  302. data/lib/compass/sass_extensions/functions/display.rb +27 -27
  303. data/lib/compass/sass_extensions/functions/enumerate.rb +6 -6
  304. data/lib/compass/sass_extensions/functions/env.rb +5 -5
  305. data/lib/compass/sass_extensions/functions/font_files.rb +41 -41
  306. data/lib/compass/sass_extensions/functions/gradient_support.rb +540 -540
  307. data/lib/compass/sass_extensions/functions/image_size.rb +113 -113
  308. data/lib/compass/sass_extensions/functions/inline_image.rb +64 -64
  309. data/lib/compass/sass_extensions/functions/lists.rb +101 -101
  310. data/lib/compass/sass_extensions/functions/math.rb +63 -63
  311. data/lib/compass/sass_extensions/functions/selectors.rb +63 -63
  312. data/lib/compass/sass_extensions/functions/sprites.rb +218 -218
  313. data/lib/compass/sass_extensions/functions/urls.rb +266 -266
  314. data/lib/compass/sass_extensions/monkey_patches.rb +3 -3
  315. data/lib/compass/sass_extensions/monkey_patches/browser_support.rb +95 -95
  316. data/lib/compass/sass_extensions/monkey_patches/traversal.rb +23 -23
  317. data/lib/compass/sass_extensions/sprites.rb +19 -19
  318. data/lib/compass/sass_extensions/sprites/engines.rb +25 -25
  319. data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +30 -30
  320. data/lib/compass/sass_extensions/sprites/image.rb +151 -151
  321. data/lib/compass/sass_extensions/sprites/image_methods.rb +31 -31
  322. data/lib/compass/sass_extensions/sprites/image_row.rb +46 -46
  323. data/lib/compass/sass_extensions/sprites/layout_methods.rb +158 -158
  324. data/lib/compass/sass_extensions/sprites/row_fitter.rb +91 -91
  325. data/lib/compass/sass_extensions/sprites/sprite_map.rb +86 -86
  326. data/lib/compass/sass_extensions/sprites/sprite_methods.rb +141 -141
  327. data/lib/compass/sprite_importer.rb +116 -116
  328. data/lib/compass/sprite_importer/binding.rb +10 -10
  329. data/lib/compass/sprite_importer/content.erb +80 -80
  330. data/lib/compass/stats.rb +99 -99
  331. data/lib/compass/test_case.rb +38 -38
  332. data/lib/compass/util.rb +29 -29
  333. data/lib/compass/validator.rb +16 -16
  334. data/lib/compass/version.rb +60 -60
  335. data/test/fixtures/extensions/only_stylesheets/compass_init.rb +1 -1
  336. data/test/fixtures/extensions/only_stylesheets/scss/only_stylesheets/foo.scss +3 -3
  337. data/test/fixtures/fonts/bgrove.base64.txt +1 -1
  338. data/test/fixtures/fonts/bgrove.ttf +0 -0
  339. data/test/fixtures/sprites/public/images/ko/starbg26x27.png +0 -0
  340. data/test/fixtures/stylesheets/blueprint/config.rb +14 -14
  341. data/test/fixtures/stylesheets/blueprint/css/ie.css +76 -76
  342. data/test/fixtures/stylesheets/blueprint/css/print.css +56 -56
  343. data/test/fixtures/stylesheets/blueprint/css/screen.css +815 -815
  344. data/test/fixtures/stylesheets/blueprint/css/single-imports/buttons.css +56 -56
  345. data/test/fixtures/stylesheets/blueprint/css/single-imports/colors.css +80 -80
  346. data/test/fixtures/stylesheets/blueprint/css/single-imports/debug.css +11 -11
  347. data/test/fixtures/stylesheets/blueprint/css/single-imports/fancy-type.css +30 -30
  348. data/test/fixtures/stylesheets/blueprint/css/single-imports/form.css +42 -42
  349. data/test/fixtures/stylesheets/blueprint/css/single-imports/grid.css +435 -435
  350. data/test/fixtures/stylesheets/blueprint/css/single-imports/ie.css +76 -76
  351. data/test/fixtures/stylesheets/blueprint/css/single-imports/interaction.css +46 -46
  352. data/test/fixtures/stylesheets/blueprint/css/single-imports/link-icons.css +40 -40
  353. data/test/fixtures/stylesheets/blueprint/css/single-imports/liquid.css +651 -651
  354. data/test/fixtures/stylesheets/blueprint/css/single-imports/print.css +60 -60
  355. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset-utilities.css +75 -75
  356. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset.css +42 -42
  357. data/test/fixtures/stylesheets/blueprint/css/single-imports/rtl.css +437 -437
  358. data/test/fixtures/stylesheets/blueprint/css/single-imports/scaffolding.css +45 -45
  359. data/test/fixtures/stylesheets/blueprint/css/single-imports/typography.css +146 -146
  360. data/test/fixtures/stylesheets/blueprint/css/single-imports/utilities.css +35 -35
  361. data/test/fixtures/stylesheets/blueprint/sass/ie.sass +3 -3
  362. data/test/fixtures/stylesheets/blueprint/sass/print.sass +3 -3
  363. data/test/fixtures/stylesheets/blueprint/sass/screen.sass +18 -18
  364. data/test/fixtures/stylesheets/blueprint/sass/single-imports/buttons.scss +3 -3
  365. data/test/fixtures/stylesheets/blueprint/sass/single-imports/colors.scss +34 -34
  366. data/test/fixtures/stylesheets/blueprint/sass/single-imports/debug.scss +3 -3
  367. data/test/fixtures/stylesheets/blueprint/sass/single-imports/fancy-type.scss +3 -3
  368. data/test/fixtures/stylesheets/blueprint/sass/single-imports/form.scss +4 -4
  369. data/test/fixtures/stylesheets/blueprint/sass/single-imports/grid.scss +2 -2
  370. data/test/fixtures/stylesheets/blueprint/sass/single-imports/ie.scss +2 -2
  371. data/test/fixtures/stylesheets/blueprint/sass/single-imports/interaction.scss +3 -3
  372. data/test/fixtures/stylesheets/blueprint/sass/single-imports/link-icons.scss +12 -12
  373. data/test/fixtures/stylesheets/blueprint/sass/single-imports/liquid.scss +2 -2
  374. data/test/fixtures/stylesheets/blueprint/sass/single-imports/print.scss +4 -4
  375. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset-utilities.scss +4 -4
  376. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset.scss +1 -1
  377. data/test/fixtures/stylesheets/blueprint/sass/single-imports/rtl.scss +2 -2
  378. data/test/fixtures/stylesheets/blueprint/sass/single-imports/scaffolding.scss +5 -5
  379. data/test/fixtures/stylesheets/blueprint/sass/single-imports/typography.scss +3 -3
  380. data/test/fixtures/stylesheets/blueprint/sass/single-imports/utilities.scss +3 -3
  381. data/test/fixtures/stylesheets/busted_image_urls/config.rb +29 -29
  382. data/test/fixtures/stylesheets/busted_image_urls/css/screen.css +9 -9
  383. data/test/fixtures/stylesheets/busted_image_urls/sass/screen.sass +13 -13
  384. data/test/fixtures/stylesheets/compass/config.rb +16 -16
  385. data/test/fixtures/stylesheets/compass/css/background-clip.css +10 -10
  386. data/test/fixtures/stylesheets/compass/css/border_radius.css +14 -14
  387. data/test/fixtures/stylesheets/compass/css/box-sizeing.css +9 -9
  388. data/test/fixtures/stylesheets/compass/css/box.css +103 -103
  389. data/test/fixtures/stylesheets/compass/css/box_shadow.css +14 -14
  390. data/test/fixtures/stylesheets/compass/css/columns.css +161 -161
  391. data/test/fixtures/stylesheets/compass/css/filters.css +29 -29
  392. data/test/fixtures/stylesheets/compass/css/fonts.css +4 -4
  393. data/test/fixtures/stylesheets/compass/css/force-wrap.css +9 -9
  394. data/test/fixtures/stylesheets/compass/css/gradients.css +202 -202
  395. data/test/fixtures/stylesheets/compass/css/grid_background.css +71 -71
  396. data/test/fixtures/stylesheets/compass/css/hyphenation.css +16 -16
  397. data/test/fixtures/stylesheets/compass/css/image_size.css +15 -15
  398. data/test/fixtures/stylesheets/compass/css/images.css +8 -8
  399. data/test/fixtures/stylesheets/compass/css/layout.css +16 -16
  400. data/test/fixtures/stylesheets/compass/css/legacy_clearfix.css +26 -26
  401. data/test/fixtures/stylesheets/compass/css/lists.css +151 -151
  402. data/test/fixtures/stylesheets/compass/css/opacity.css +3 -3
  403. data/test/fixtures/stylesheets/compass/css/pie.css +26 -26
  404. data/test/fixtures/stylesheets/compass/css/print.css +11 -11
  405. data/test/fixtures/stylesheets/compass/css/regions.css +7 -7
  406. data/test/fixtures/stylesheets/compass/css/replacement.css +59 -59
  407. data/test/fixtures/stylesheets/compass/css/reset.css +59 -59
  408. data/test/fixtures/stylesheets/compass/css/sprites.css +1262 -1262
  409. data/test/fixtures/stylesheets/compass/css/stretching.css +66 -66
  410. data/test/fixtures/stylesheets/compass/css/text_shadow.css +29 -29
  411. data/test/fixtures/stylesheets/compass/css/transform.css +441 -441
  412. data/test/fixtures/stylesheets/compass/css/transition.css +128 -128
  413. data/test/fixtures/stylesheets/compass/css/user-interface.css +4 -4
  414. data/test/fixtures/stylesheets/compass/css/utilities.css +56 -56
  415. data/test/fixtures/stylesheets/compass/css/vertical_rhythm.css +45 -45
  416. data/test/fixtures/stylesheets/compass/sass/background-clip.scss +7 -7
  417. data/test/fixtures/stylesheets/compass/sass/border_radius.scss +5 -5
  418. data/test/fixtures/stylesheets/compass/sass/box-sizeing.scss +7 -7
  419. data/test/fixtures/stylesheets/compass/sass/box.sass +49 -49
  420. data/test/fixtures/stylesheets/compass/sass/box_shadow.scss +5 -5
  421. data/test/fixtures/stylesheets/compass/sass/columns.scss +28 -28
  422. data/test/fixtures/stylesheets/compass/sass/filters.scss +24 -24
  423. data/test/fixtures/stylesheets/compass/sass/fonts.sass +2 -2
  424. data/test/fixtures/stylesheets/compass/sass/force-wrap.scss +3 -3
  425. data/test/fixtures/stylesheets/compass/sass/gradients.sass +96 -96
  426. data/test/fixtures/stylesheets/compass/sass/grid_background.scss +33 -33
  427. data/test/fixtures/stylesheets/compass/sass/hyphenation.scss +10 -10
  428. data/test/fixtures/stylesheets/compass/sass/image_size.sass +15 -15
  429. data/test/fixtures/stylesheets/compass/sass/images.scss +8 -8
  430. data/test/fixtures/stylesheets/compass/sass/layout.sass +3 -3
  431. data/test/fixtures/stylesheets/compass/sass/legacy_clearfix.scss +14 -14
  432. data/test/fixtures/stylesheets/compass/sass/lists.scss +11 -11
  433. data/test/fixtures/stylesheets/compass/sass/opacity.scss +5 -5
  434. data/test/fixtures/stylesheets/compass/sass/pie.scss +47 -47
  435. data/test/fixtures/stylesheets/compass/sass/print.sass +5 -5
  436. data/test/fixtures/stylesheets/compass/sass/regions.scss +3 -3
  437. data/test/fixtures/stylesheets/compass/sass/replacement.scss +22 -22
  438. data/test/fixtures/stylesheets/compass/sass/reset.sass +12 -12
  439. data/test/fixtures/stylesheets/compass/sass/sprites.scss +13 -13
  440. data/test/fixtures/stylesheets/compass/sass/stretching.sass +33 -33
  441. data/test/fixtures/stylesheets/compass/sass/text_shadow.scss +11 -11
  442. data/test/fixtures/stylesheets/compass/sass/transform.scss +87 -87
  443. data/test/fixtures/stylesheets/compass/sass/transition.scss +24 -24
  444. data/test/fixtures/stylesheets/compass/sass/user-interface.scss +4 -4
  445. data/test/fixtures/stylesheets/compass/sass/utilities.scss +20 -20
  446. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm.scss +15 -15
  447. data/test/fixtures/stylesheets/envtest/config.rb +9 -9
  448. data/test/fixtures/stylesheets/envtest/css/env.css +2 -2
  449. data/test/fixtures/stylesheets/envtest/sass/env.scss +3 -3
  450. data/test/fixtures/stylesheets/error/config.rb +10 -10
  451. data/test/fixtures/stylesheets/error/sass/screen.sass +2 -2
  452. data/test/fixtures/stylesheets/image_urls/config.rb +19 -19
  453. data/test/fixtures/stylesheets/image_urls/css/screen.css +5 -5
  454. data/test/fixtures/stylesheets/image_urls/sass/screen.sass +8 -8
  455. data/test/fixtures/stylesheets/relative/config.rb +10 -10
  456. data/test/fixtures/stylesheets/relative/css/ie.css +1 -1
  457. data/test/fixtures/stylesheets/relative/css/print.css +1 -1
  458. data/test/fixtures/stylesheets/relative/css/screen.css +1 -1
  459. data/test/fixtures/stylesheets/relative/sass/ie.sass +5 -5
  460. data/test/fixtures/stylesheets/relative/sass/print.sass +3 -3
  461. data/test/fixtures/stylesheets/relative/sass/screen.sass +2 -2
  462. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/config.rb +25 -25
  463. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/ie.scss +5 -5
  464. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/print.scss +3 -3
  465. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/sass/screen.scss +6 -6
  466. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/ie.css +5 -5
  467. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/print.css +3 -3
  468. data/test/fixtures/stylesheets/uses_only_stylesheets_ext/stylesheets/screen.css +68 -68
  469. data/test/fixtures/stylesheets/valid/config.rb +9 -9
  470. data/test/fixtures/stylesheets/valid/sass/simple.sass +1 -1
  471. data/test/helpers/command_line.rb +114 -114
  472. data/test/helpers/diff.rb +48 -48
  473. data/test/helpers/io.rb +36 -36
  474. data/test/helpers/rails.rb +55 -55
  475. data/test/helpers/test_case.rb +62 -62
  476. data/test/integrations/compass_test.rb +224 -224
  477. data/test/integrations/sprites_test.rb +843 -843
  478. data/test/test_helper.rb +73 -73
  479. data/test/units/actions_test.rb +23 -23
  480. data/test/units/command_line_test.rb +60 -60
  481. data/test/units/compass_module_test.rb +36 -36
  482. data/test/units/compass_png_test.rb +45 -45
  483. data/test/units/compiler_test.rb +10 -10
  484. data/test/units/configuration_test.rb +440 -440
  485. data/test/units/regressions_test.rb +35 -35
  486. data/test/units/sass_extensions_test.rb +198 -198
  487. data/test/units/sprites/engine_test.rb +47 -47
  488. data/test/units/sprites/image_row_test.rb +57 -57
  489. data/test/units/sprites/image_test.rb +99 -99
  490. data/test/units/sprites/importer_test.rb +90 -90
  491. data/test/units/sprites/layout_test.rb +154 -154
  492. data/test/units/sprites/row_fitter_test.rb +65 -65
  493. data/test/units/sprites/sprite_command_test.rb +54 -54
  494. data/test/units/sprites/sprite_map_test.rb +130 -130
  495. metadata +1304 -1310
@@ -1,27 +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"
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"
@@ -1,268 +1,268 @@
1
- $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), '../../test')))
2
-
3
- require 'test_helper'
4
-
5
- require 'compass/exec'
6
- include Compass::TestCaseHelper
7
- include Compass::CommandLineHelper
8
- include Compass::IoHelper
9
-
10
- Before do
11
- Compass.reset_configuration!
12
- Compass::Frameworks::ALL.clear
13
- Compass::Frameworks.discover :defaults
14
- @cleanup_directories = []
15
- @original_working_directory = Dir.pwd
16
- end
17
-
18
- After do
19
- Dir.chdir @original_working_directory
20
- @cleanup_directories.each do |dir|
21
- FileUtils.rm_rf dir
22
- end
23
- end
24
-
25
- Given "ruby supports fork" do
26
- if RUBY_PLATFORM == "java"
27
- pending
28
- end
29
- end
30
-
31
- # Given Preconditions
32
- Given %r{^I am using the existing project in ([^\s]+)$} do |project|
33
- tmp_project = "tmp_#{File.basename(project)}"
34
- @cleanup_directories << tmp_project
35
- FileUtils.cp_r project, tmp_project
36
- Dir.chdir tmp_project
37
- end
38
-
39
- Given %r{^I am in the parent directory$} do
40
- Dir.chdir ".."
41
- end
42
-
43
- Given /^I should clean up the directory: (\w+)$/ do |directory|
44
- @cleanup_directories << directory
45
- end
46
-
47
- Given %r{^the project has a file named "([^"]*)" containing:$} do |arg1, string|
48
- File.open(arg1, "w") do |f|
49
- f << string
50
- end
51
- end
52
-
53
-
54
- # When Actions are performed
55
- When /^I create a project using: compass create ([^\s]+) ?(.+)?$/ do |dir, args|
56
- @cleanup_directories << dir
57
- compass 'create', dir, *(args || '').split
58
- end
59
-
60
- When /^I initialize a project using: compass init ?(.+)?$/ do |args|
61
- compass 'init', *(args || '').split
62
- end
63
-
64
- When /^I run: compass ([^\s]+) ?(.+)?$/ do |command, args|
65
- compass command, *(args || '').split
66
- end
67
-
68
- When /^I run in a separate process: compass ([^\s]+) ?(.+)?$/ do |command, args|
69
- unless @other_process = fork
70
- @last_result = ''
71
- @last_error = ''
72
- Signal.trap("HUP") do
73
- open('/tmp/last_result.compass_test.txt', 'w') do |file|
74
- file.puts $stdout.string
75
- end
76
- open('/tmp/last_error.compass_test.txt', 'w') do |file|
77
- file.puts $stderr.string
78
- end
79
- exit!
80
- end
81
- # this command will run forever
82
- # we kill it with a HUP signal from the parent process.
83
- args = (args || '').split
84
- args << { :wait => 5 }
85
- compass command, *args
86
- exit!
87
- end
88
- end
89
-
90
- When /^I shutdown the other process$/ do
91
- Process.kill("HUP", @other_process)
92
- Process.wait
93
- @last_result = File.read('/tmp/last_result.compass_test.txt')
94
- @last_error = File.read('/tmp/last_error.compass_test.txt')
95
- end
96
-
97
- When /^I touch ([^\s]+)$/ do |filename|
98
- FileUtils.touch filename
99
- end
100
-
101
- When /^I wait ([\d.]+) seconds?$/ do |count|
102
- sleep count.to_f
103
- end
104
-
105
- When /^I add some sass to ([^\s]+)$/ do |filename|
106
- open(filename, "w+") do |file|
107
- file.puts ".added .some .arbitrary"
108
- file.puts " sass: code"
109
- end
110
- end
111
-
112
- # Then postconditions
113
- Then /^a directory ([^ ]+) is (not )?created$/ do |directory, negated|
114
- File.directory?(directory).should == !negated
115
- end
116
-
117
- Then /an? \w+ file ([^ ]+) is (not )?removed/ do |filename, negated|
118
- File.exists?(filename).should == !!negated
119
- end
120
-
121
- Then /an? \w+ file ([^ ]+) is (not )?created/ do |filename, negated|
122
- File.exists?(filename).should == !negated
123
- end
124
-
125
- Then "the following files are reported removed:" do |table|
126
- table.rows.each do |css_file|
127
- #need to find a better way but this works for now
128
- step %Q{a css file #{css_file.first} is reported removed}
129
- end
130
- end
131
-
132
- Then "the following files are removed:" do |table|
133
- table.rows.each do |css_file|
134
- step %Q{a css file #{css_file.first} is removed}
135
- end
136
- end
137
-
138
- Then /an? \w+ file ([^ ]+) is reported removed/ do |filename|
139
- @last_result.should =~ /remove.*#{Regexp.escape(filename)}/
140
- end
141
-
142
- Then /an? \w+ file ([^ ]+) is reported created/ do |filename|
143
- @last_result.should =~ /create.*#{Regexp.escape(filename)}/
144
- end
145
-
146
- Then /a \w+ file ([^ ]+) is (?:reported )?compiled/ do |filename|
147
- @last_result.should =~ /compile.*#{Regexp.escape(filename)}/
148
- end
149
-
150
- Then /a \w+ file ([^ ]+) is reported unchanged/ do |filename|
151
- @last_result.should =~ /unchanged.*#{Regexp.escape(filename)}/
152
- end
153
-
154
- Then /a \w+ file ([^ ]+) is reported identical/ do |filename|
155
- @last_result.should =~ /identical.*#{Regexp.escape(filename)}/
156
- end
157
-
158
- Then /a \w+ file ([^ ]+) is reported overwritten/ do |filename|
159
- @last_result.should =~ /overwrite.*#{Regexp.escape(filename)}/
160
- end
161
-
162
- Then /a \w+ file ([^ ]+) is not mentioned/ do |filename|
163
- @last_result.should_not =~ /#{Regexp.escape(filename)}/
164
- end
165
-
166
- Then /I am told how to link to ([^ ]+) for media "([^"]+)"/ do |stylesheet, media|
167
- @last_result.should =~ %r{<link href="#{stylesheet}" media="#{media}" rel="stylesheet" type="text/css" />}
168
- end
169
-
170
- Then /I am told how to conditionally link "([^"]+)" to ([^ ]+) for media "([^"]+)"/ do |condition, stylesheet, media|
171
- @last_result.should =~ %r{<!--\[if #{condition}\]>\s+<link href="#{stylesheet}" media="#{media}" rel="stylesheet" type="text/css" />\s+<!\[endif\]-->}mi
172
- end
173
-
174
- Then /^an error message is printed out: (.+)$/ do |error_message|
175
- @last_error.should =~ Regexp.new(Regexp.escape(error_message))
176
- end
177
-
178
- Then /^the command exits with a non\-zero error code$/ do
179
- @last_exit_code.should_not == 0
180
- end
181
-
182
- Then /^the command exits normally$/ do
183
- @last_exit_code.should == 0
184
- end
185
-
186
- Then /^I am congratulated$/ do
187
- @last_result.should =~ /Congratulations!/
188
- end
189
-
190
- Then /^I am told that I can place stylesheets in the ([^\s]+) subdirectory$/ do |subdir|
191
- @last_result.should =~ /You may now add sass stylesheets to the #{subdir} subdirectory of your project./
192
- end
193
-
194
- Then /^I am told how to compile my sass stylesheets$/ do
195
- @last_result.should =~ /You must compile your sass stylesheets into CSS when they change.\nThis can be done in one of the following ways:/
196
- end
197
-
198
- Then /^I should be shown a list of "([^"]+)" commands$/ do |kind|
199
- @last_result.should =~ /^#{kind.capitalize} Commands:$/
200
- @last_command_list = []
201
- found = false
202
- indent = nil
203
- @last_result.split("\n").each do |line|
204
- if line =~ /^#{kind.capitalize} Commands:$/
205
- found = true
206
- elsif found && line =~ /^\s+/
207
- @last_command_list << line
208
- elsif found && line =~ /^$|^\w/
209
- break
210
- end
211
- end
212
-
213
- end
214
-
215
- Then /^the list of commands should describe the ([^ ]+) command$/ do |command|
216
- @last_result.should =~ /^\s+\* #{command}\s+- [A-Z].+$/
217
- end
218
-
219
- Then /^the following configuration properties are set in ([^ ]+):$/ do |config_file, table|
220
-
221
- config = Compass::Configuration::FileData.new_from_file(config_file)
222
- table.hashes.each do |hash|
223
- config.send(hash['property']).should == hash['value']
224
- end
225
- end
226
-
227
- Then /^my css is validated$/ do
228
- if @last_error =~ /The Compass CSS Validator could not be loaded/
229
- pending "Missing Dependency: sudo gem install compass-validator"
230
- else
231
- @last_result.should =~ /files? validated/
232
- end
233
- end
234
-
235
- Then /^I am informed that my css is valid.$/ do
236
- @last_result.should =~ /Result: Valid/
237
- end
238
-
239
- Then /^I am told statistics for each file:$/ do |table|
240
- # table is a Cucumber::Ast::Table
241
- table.raw.each do |row|
242
- re = Regexp.new row.join(' *\| *')
243
- @last_result.should =~ re
244
- end
245
- end
246
-
247
- Then /^I should see the following "([^"]+)" commands:$/ do |kind, table|
248
-
249
-
250
- step %Q{I should be shown a list of "#{kind}" commands}
251
-
252
- commands = @last_command_list.map{|c| c =~ /^\s+\* ([^ ]+)\s+- [A-Z].+$/; [$1]}
253
- table.diff!(commands)
254
- end
255
-
256
-
257
- Then /^the image ([^ ]+) has a size of (\d+)x(\d+)$/ do |file, width, height|
258
- # see http://snippets.dzone.com/posts/show/805
259
- open(file, "rb").read[0x10..0x18].unpack('NN').should == [width.to_i, height.to_i]
260
- end
261
-
262
- Then /^I should see the following lines of output:$/ do |table|
263
- table.diff!([['blueprint'],['compass']])
264
- end
265
-
266
- Then /^I should see the following output: (.+)$/ do |expected|
267
- (@last_result.strip + @last_error.strip).should == expected.gsub(/\$PROJECT_PATH/,Dir.pwd).strip
268
- end
1
+ $:.unshift(File.expand_path(File.join(File.dirname(__FILE__), '../../test')))
2
+
3
+ require 'test_helper'
4
+
5
+ require 'compass/exec'
6
+ include Compass::TestCaseHelper
7
+ include Compass::CommandLineHelper
8
+ include Compass::IoHelper
9
+
10
+ Before do
11
+ Compass.reset_configuration!
12
+ Compass::Frameworks::ALL.clear
13
+ Compass::Frameworks.discover :defaults
14
+ @cleanup_directories = []
15
+ @original_working_directory = Dir.pwd
16
+ end
17
+
18
+ After do
19
+ Dir.chdir @original_working_directory
20
+ @cleanup_directories.each do |dir|
21
+ FileUtils.rm_rf dir
22
+ end
23
+ end
24
+
25
+ Given "ruby supports fork" do
26
+ if RUBY_PLATFORM == "java"
27
+ pending
28
+ end
29
+ end
30
+
31
+ # Given Preconditions
32
+ Given %r{^I am using the existing project in ([^\s]+)$} do |project|
33
+ tmp_project = "tmp_#{File.basename(project)}"
34
+ @cleanup_directories << tmp_project
35
+ FileUtils.cp_r project, tmp_project
36
+ Dir.chdir tmp_project
37
+ end
38
+
39
+ Given %r{^I am in the parent directory$} do
40
+ Dir.chdir ".."
41
+ end
42
+
43
+ Given /^I should clean up the directory: (\w+)$/ do |directory|
44
+ @cleanup_directories << directory
45
+ end
46
+
47
+ Given %r{^the project has a file named "([^"]*)" containing:$} do |arg1, string|
48
+ File.open(arg1, "w") do |f|
49
+ f << string
50
+ end
51
+ end
52
+
53
+
54
+ # When Actions are performed
55
+ When /^I create a project using: compass create ([^\s]+) ?(.+)?$/ do |dir, args|
56
+ @cleanup_directories << dir
57
+ compass 'create', dir, *(args || '').split
58
+ end
59
+
60
+ When /^I initialize a project using: compass init ?(.+)?$/ do |args|
61
+ compass 'init', *(args || '').split
62
+ end
63
+
64
+ When /^I run: compass ([^\s]+) ?(.+)?$/ do |command, args|
65
+ compass command, *(args || '').split
66
+ end
67
+
68
+ When /^I run in a separate process: compass ([^\s]+) ?(.+)?$/ do |command, args|
69
+ unless @other_process = fork
70
+ @last_result = ''
71
+ @last_error = ''
72
+ Signal.trap("HUP") do
73
+ open('/tmp/last_result.compass_test.txt', 'w') do |file|
74
+ file.puts $stdout.string
75
+ end
76
+ open('/tmp/last_error.compass_test.txt', 'w') do |file|
77
+ file.puts $stderr.string
78
+ end
79
+ exit!
80
+ end
81
+ # this command will run forever
82
+ # we kill it with a HUP signal from the parent process.
83
+ args = (args || '').split
84
+ args << { :wait => 5 }
85
+ compass command, *args
86
+ exit!
87
+ end
88
+ end
89
+
90
+ When /^I shutdown the other process$/ do
91
+ Process.kill("HUP", @other_process)
92
+ Process.wait
93
+ @last_result = File.read('/tmp/last_result.compass_test.txt')
94
+ @last_error = File.read('/tmp/last_error.compass_test.txt')
95
+ end
96
+
97
+ When /^I touch ([^\s]+)$/ do |filename|
98
+ FileUtils.touch filename
99
+ end
100
+
101
+ When /^I wait ([\d.]+) seconds?$/ do |count|
102
+ sleep count.to_f
103
+ end
104
+
105
+ When /^I add some sass to ([^\s]+)$/ do |filename|
106
+ open(filename, "w+") do |file|
107
+ file.puts ".added .some .arbitrary"
108
+ file.puts " sass: code"
109
+ end
110
+ end
111
+
112
+ # Then postconditions
113
+ Then /^a directory ([^ ]+) is (not )?created$/ do |directory, negated|
114
+ File.directory?(directory).should == !negated
115
+ end
116
+
117
+ Then /an? \w+ file ([^ ]+) is (not )?removed/ do |filename, negated|
118
+ File.exists?(filename).should == !!negated
119
+ end
120
+
121
+ Then /an? \w+ file ([^ ]+) is (not )?created/ do |filename, negated|
122
+ File.exists?(filename).should == !negated
123
+ end
124
+
125
+ Then "the following files are reported removed:" do |table|
126
+ table.rows.each do |css_file|
127
+ #need to find a better way but this works for now
128
+ step %Q{a css file #{css_file.first} is reported removed}
129
+ end
130
+ end
131
+
132
+ Then "the following files are removed:" do |table|
133
+ table.rows.each do |css_file|
134
+ step %Q{a css file #{css_file.first} is removed}
135
+ end
136
+ end
137
+
138
+ Then /an? \w+ file ([^ ]+) is reported removed/ do |filename|
139
+ @last_result.should =~ /remove.*#{Regexp.escape(filename)}/
140
+ end
141
+
142
+ Then /an? \w+ file ([^ ]+) is reported created/ do |filename|
143
+ @last_result.should =~ /create.*#{Regexp.escape(filename)}/
144
+ end
145
+
146
+ Then /a \w+ file ([^ ]+) is (?:reported )?compiled/ do |filename|
147
+ @last_result.should =~ /compile.*#{Regexp.escape(filename)}/
148
+ end
149
+
150
+ Then /a \w+ file ([^ ]+) is reported unchanged/ do |filename|
151
+ @last_result.should =~ /unchanged.*#{Regexp.escape(filename)}/
152
+ end
153
+
154
+ Then /a \w+ file ([^ ]+) is reported identical/ do |filename|
155
+ @last_result.should =~ /identical.*#{Regexp.escape(filename)}/
156
+ end
157
+
158
+ Then /a \w+ file ([^ ]+) is reported overwritten/ do |filename|
159
+ @last_result.should =~ /overwrite.*#{Regexp.escape(filename)}/
160
+ end
161
+
162
+ Then /a \w+ file ([^ ]+) is not mentioned/ do |filename|
163
+ @last_result.should_not =~ /#{Regexp.escape(filename)}/
164
+ end
165
+
166
+ Then /I am told how to link to ([^ ]+) for media "([^"]+)"/ do |stylesheet, media|
167
+ @last_result.should =~ %r{<link href="#{stylesheet}" media="#{media}" rel="stylesheet" type="text/css" />}
168
+ end
169
+
170
+ Then /I am told how to conditionally link "([^"]+)" to ([^ ]+) for media "([^"]+)"/ do |condition, stylesheet, media|
171
+ @last_result.should =~ %r{<!--\[if #{condition}\]>\s+<link href="#{stylesheet}" media="#{media}" rel="stylesheet" type="text/css" />\s+<!\[endif\]-->}mi
172
+ end
173
+
174
+ Then /^an error message is printed out: (.+)$/ do |error_message|
175
+ @last_error.should =~ Regexp.new(Regexp.escape(error_message))
176
+ end
177
+
178
+ Then /^the command exits with a non\-zero error code$/ do
179
+ @last_exit_code.should_not == 0
180
+ end
181
+
182
+ Then /^the command exits normally$/ do
183
+ @last_exit_code.should == 0
184
+ end
185
+
186
+ Then /^I am congratulated$/ do
187
+ @last_result.should =~ /Congratulations!/
188
+ end
189
+
190
+ Then /^I am told that I can place stylesheets in the ([^\s]+) subdirectory$/ do |subdir|
191
+ @last_result.should =~ /You may now add sass stylesheets to the #{subdir} subdirectory of your project./
192
+ end
193
+
194
+ Then /^I am told how to compile my sass stylesheets$/ do
195
+ @last_result.should =~ /You must compile your sass stylesheets into CSS when they change.\nThis can be done in one of the following ways:/
196
+ end
197
+
198
+ Then /^I should be shown a list of "([^"]+)" commands$/ do |kind|
199
+ @last_result.should =~ /^#{kind.capitalize} Commands:$/
200
+ @last_command_list = []
201
+ found = false
202
+ indent = nil
203
+ @last_result.split("\n").each do |line|
204
+ if line =~ /^#{kind.capitalize} Commands:$/
205
+ found = true
206
+ elsif found && line =~ /^\s+/
207
+ @last_command_list << line
208
+ elsif found && line =~ /^$|^\w/
209
+ break
210
+ end
211
+ end
212
+
213
+ end
214
+
215
+ Then /^the list of commands should describe the ([^ ]+) command$/ do |command|
216
+ @last_result.should =~ /^\s+\* #{command}\s+- [A-Z].+$/
217
+ end
218
+
219
+ Then /^the following configuration properties are set in ([^ ]+):$/ do |config_file, table|
220
+
221
+ config = Compass::Configuration::FileData.new_from_file(config_file)
222
+ table.hashes.each do |hash|
223
+ config.send(hash['property']).should == hash['value']
224
+ end
225
+ end
226
+
227
+ Then /^my css is validated$/ do
228
+ if @last_error =~ /The Compass CSS Validator could not be loaded/
229
+ pending "Missing Dependency: sudo gem install compass-validator"
230
+ else
231
+ @last_result.should =~ /files? validated/
232
+ end
233
+ end
234
+
235
+ Then /^I am informed that my css is valid.$/ do
236
+ @last_result.should =~ /Result: Valid/
237
+ end
238
+
239
+ Then /^I am told statistics for each file:$/ do |table|
240
+ # table is a Cucumber::Ast::Table
241
+ table.raw.each do |row|
242
+ re = Regexp.new row.join(' *\| *')
243
+ @last_result.should =~ re
244
+ end
245
+ end
246
+
247
+ Then /^I should see the following "([^"]+)" commands:$/ do |kind, table|
248
+
249
+
250
+ step %Q{I should be shown a list of "#{kind}" commands}
251
+
252
+ commands = @last_command_list.map{|c| c =~ /^\s+\* ([^ ]+)\s+- [A-Z].+$/; [$1]}
253
+ table.diff!(commands)
254
+ end
255
+
256
+
257
+ Then /^the image ([^ ]+) has a size of (\d+)x(\d+)$/ do |file, width, height|
258
+ # see http://snippets.dzone.com/posts/show/805
259
+ open(file, "rb").read[0x10..0x18].unpack('NN').should == [width.to_i, height.to_i]
260
+ end
261
+
262
+ Then /^I should see the following lines of output:$/ do |table|
263
+ table.diff!([['blueprint'],['compass']])
264
+ end
265
+
266
+ Then /^I should see the following output: (.+)$/ do |expected|
267
+ (@last_result.strip + @last_error.strip).should == expected.gsub(/\$PROJECT_PATH/,Dir.pwd).strip
268
+ end