compass 0.8.17 → 0.10.0.pre1

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 (349) hide show
  1. data/CHANGELOG.markdown +165 -0
  2. data/README.markdown +15 -3
  3. data/Rakefile +46 -7
  4. data/VERSION.yml +3 -2
  5. data/bin/compass +22 -4
  6. data/examples/blueprint_default/index.html.haml +3 -3
  7. data/examples/blueprint_default/parts/forms.html.haml +2 -0
  8. data/examples/blueprint_default/src/screen.sass +1 -1
  9. data/examples/blueprint_plugins/index.html.haml +6 -6
  10. data/examples/blueprint_plugins/src/buttons.sass +2 -2
  11. data/examples/blueprint_plugins/src/link_icons.sass +1 -1
  12. data/examples/blueprint_plugins/src/rtl_screen.sass +3 -3
  13. data/examples/blueprint_plugins/src/screen.sass +2 -2
  14. data/examples/blueprint_scoped/src/ie.sass +2 -1
  15. data/examples/blueprint_scoped/src/print.sass +2 -1
  16. data/examples/blueprint_scoped/src/screen.sass +2 -1
  17. data/examples/blueprint_semantic/parts/fancy_type.html.haml +1 -1
  18. data/examples/blueprint_semantic/src/liquid.sass +5 -6
  19. data/examples/blueprint_semantic/src/screen.sass +4 -5
  20. data/examples/compass/bootstrap.rb +3 -0
  21. data/{frameworks → examples/compass/extensions}/yui/stylesheets/_yui.sass +0 -0
  22. data/examples/compass/extensions/yui/stylesheets/yui/modules/_base.sass +70 -0
  23. data/{frameworks → examples/compass/extensions}/yui/stylesheets/yui/modules/_fonts.sass +8 -1
  24. data/{frameworks → examples/compass/extensions}/yui/stylesheets/yui/modules/_grids.sass +174 -130
  25. data/{frameworks → examples/compass/extensions}/yui/stylesheets/yui/modules/_reset.sass +0 -0
  26. data/{frameworks → examples/compass/extensions}/yui/templates/project/manifest.rb +0 -0
  27. data/{frameworks → examples/compass/extensions}/yui/templates/project/screen.sass +0 -0
  28. data/examples/compass/src/utilities.sass +2 -2
  29. data/examples/css3/config.rb +6 -0
  30. data/examples/css3/extensions/fancy-fonts/templates/project/Vtks Revolt.ttf +0 -0
  31. data/examples/css3/extensions/fancy-fonts/templates/project/angelina.ttf +0 -0
  32. data/examples/css3/extensions/fancy-fonts/templates/project/fancy-fonts.sass +7 -0
  33. data/examples/css3/extensions/fancy-fonts/templates/project/manifest.rb +5 -0
  34. data/examples/css3/images/fresh-peas.jpg +0 -0
  35. data/examples/css3/index.html.haml +55 -0
  36. data/examples/css3/src/_base.sass +14 -0
  37. data/examples/css3/src/fancy-fonts.sass +7 -0
  38. data/examples/css3/src/gradient.sass +10 -0
  39. data/examples/css3/src/main.sass +80 -0
  40. data/examples/css3/stylesheets/fonts/Vtks Revolt.ttf +0 -0
  41. data/examples/css3/stylesheets/fonts/angelina.ttf +0 -0
  42. data/examples/downloader.rb +57 -0
  43. data/examples/ninesixty/bootstrap.rb +4 -0
  44. data/examples/ninesixty/config.rb +9 -0
  45. data/examples/ninesixty/extensions/ninesixty/README.mkdn +56 -0
  46. data/examples/ninesixty/extensions/ninesixty/compass-960-plugin.gemspec +36 -0
  47. data/examples/ninesixty/extensions/ninesixty/lib/ninesixty.rb +1 -0
  48. data/examples/ninesixty/extensions/ninesixty/lib/ninesixty/compass_plugin.rb +5 -0
  49. data/examples/ninesixty/extensions/ninesixty/sass/960/_grid.sass +64 -0
  50. data/examples/ninesixty/extensions/ninesixty/sass/960/_text.sass +59 -0
  51. data/examples/ninesixty/extensions/ninesixty/templates/project/grid.sass +34 -0
  52. data/examples/ninesixty/extensions/ninesixty/templates/project/manifest.rb +2 -0
  53. data/examples/ninesixty/extensions/ninesixty/templates/project/text.sass +10 -0
  54. data/examples/ninesixty/src/grid.sass +16 -0
  55. data/examples/ninesixty/src/text.sass +10 -0
  56. data/examples/susy/bootstrap.rb +3 -0
  57. data/examples/susy/config.rb +9 -0
  58. data/examples/susy/extensions/susy/LICENSE.txt +28 -0
  59. data/examples/susy/extensions/susy/README.mkdn +235 -0
  60. data/examples/susy/extensions/susy/compass-susy-plugin.gemspec +35 -0
  61. data/examples/susy/extensions/susy/docs/tutorial/build.sh +141 -0
  62. data/examples/susy/extensions/susy/docs/tutorial/code/01_target/src/_defaults.sass +100 -0
  63. data/examples/susy/extensions/susy/docs/tutorial/code/01_target/src/screen.sass +98 -0
  64. data/examples/susy/extensions/susy/docs/tutorial/code/02_container/src/_defaults.sass +147 -0
  65. data/examples/susy/extensions/susy/docs/tutorial/code/02_container/src/screen.sass +19 -0
  66. data/examples/susy/extensions/susy/docs/tutorial/code/03_structure/src/_defaults.sass +147 -0
  67. data/examples/susy/extensions/susy/docs/tutorial/code/03_structure/src/screen.sass +48 -0
  68. data/examples/susy/extensions/susy/docs/tutorial/code/_common/config.rb +14 -0
  69. data/examples/susy/extensions/susy/docs/tutorial/code/_common/images/grid.png +0 -0
  70. data/examples/susy/extensions/susy/docs/tutorial/code/_common/images/susy_logo.png +0 -0
  71. data/examples/susy/extensions/susy/docs/tutorial/code/_common/src/_base.sass +63 -0
  72. data/examples/susy/extensions/susy/docs/tutorial/code/_tools/Markdown.pl +1450 -0
  73. data/examples/susy/extensions/susy/docs/tutorial/code/site/src/_defaults.sass +100 -0
  74. data/examples/susy/extensions/susy/docs/tutorial/code/site/src/screen.sass +91 -0
  75. data/examples/susy/extensions/susy/docs/tutorial/figures/susy_element.png +0 -0
  76. data/examples/susy/extensions/susy/docs/tutorial/figures/susy_grid.png +0 -0
  77. data/examples/susy/extensions/susy/docs/tutorial/index.mkdn +301 -0
  78. data/examples/susy/extensions/susy/lib/susy.rb +2 -0
  79. data/examples/susy/extensions/susy/lib/susy/compass_plugin.rb +5 -0
  80. data/examples/susy/extensions/susy/lib/susy/sass_extensions.rb +79 -0
  81. data/examples/susy/extensions/susy/sass/susy/_grid.sass +128 -0
  82. data/examples/susy/extensions/susy/sass/susy/_reset.sass +7 -0
  83. data/examples/susy/extensions/susy/sass/susy/_susy.sass +23 -0
  84. data/examples/susy/extensions/susy/sass/susy/_text.sass +15 -0
  85. data/examples/susy/extensions/susy/sass/susy/_utils.sass +81 -0
  86. data/examples/susy/extensions/susy/templates/project/_base.sass +62 -0
  87. data/examples/susy/extensions/susy/templates/project/_defaults.sass +147 -0
  88. data/examples/susy/extensions/susy/templates/project/ie.sass +9 -0
  89. data/examples/susy/extensions/susy/templates/project/manifest.rb +5 -0
  90. data/examples/susy/extensions/susy/templates/project/print.sass +7 -0
  91. data/examples/susy/extensions/susy/templates/project/screen.sass +44 -0
  92. data/examples/susy/src/_base.sass +62 -0
  93. data/examples/susy/src/_defaults.sass +148 -0
  94. data/examples/susy/src/screen.sass +114 -0
  95. data/examples/yui/bootstrap.rb +3 -0
  96. data/examples/yui/extensions/yui/stylesheets/_yui.sass +7 -0
  97. data/examples/yui/extensions/yui/stylesheets/yui/modules/_base.sass +70 -0
  98. data/examples/yui/extensions/yui/stylesheets/yui/modules/_fonts.sass +45 -0
  99. data/examples/yui/extensions/yui/stylesheets/yui/modules/_grids.sass +385 -0
  100. data/examples/yui/extensions/yui/stylesheets/yui/modules/_reset.sass +61 -0
  101. data/examples/yui/extensions/yui/templates/project/manifest.rb +1 -0
  102. data/examples/yui/extensions/yui/templates/project/screen.sass +4 -0
  103. data/features/command_line.feature +226 -0
  104. data/features/extensions.feature +20 -0
  105. data/features/step_definitions/command_line_steps.rb +223 -0
  106. data/features/step_definitions/extension_steps.rb +13 -0
  107. data/lib/compass.rb +6 -7
  108. data/lib/compass/actions.rb +7 -1
  109. data/lib/compass/app_integration.rb +23 -4
  110. data/lib/compass/app_integration/merb.rb +1 -43
  111. data/lib/compass/app_integration/merb/runtime.rb +63 -0
  112. data/lib/compass/app_integration/rails.rb +24 -10
  113. data/lib/compass/app_integration/rails/configuration_defaults.rb +45 -0
  114. data/lib/compass/app_integration/rails/installer.rb +127 -0
  115. data/lib/compass/app_integration/rails/runtime.rb +14 -0
  116. data/lib/compass/app_integration/stand_alone.rb +22 -0
  117. data/lib/compass/app_integration/stand_alone/configuration_defaults.rb +28 -0
  118. data/lib/compass/app_integration/stand_alone/installer.rb +83 -0
  119. data/lib/compass/commands.rb +11 -0
  120. data/lib/compass/commands/base.rb +4 -1
  121. data/lib/compass/commands/create_project.rb +108 -5
  122. data/lib/compass/commands/generate_grid_background.rb +73 -6
  123. data/lib/compass/commands/help.rb +89 -0
  124. data/lib/compass/commands/installer_command.rb +20 -13
  125. data/lib/compass/commands/interactive.rb +61 -0
  126. data/lib/compass/commands/list_frameworks.rb +2 -2
  127. data/lib/compass/commands/print_version.rb +72 -4
  128. data/lib/compass/commands/project_base.rb +14 -34
  129. data/lib/compass/commands/project_stats.rb +162 -0
  130. data/lib/compass/commands/registry.rb +22 -0
  131. data/lib/compass/commands/stamp_pattern.rb +56 -3
  132. data/lib/compass/commands/update_project.rb +60 -6
  133. data/lib/compass/commands/validate_project.rb +62 -6
  134. data/lib/compass/commands/watch_project.rb +12 -5
  135. data/lib/compass/commands/write_configuration.rb +89 -4
  136. data/lib/compass/compiler.rb +13 -4
  137. data/lib/compass/configuration.rb +29 -310
  138. data/lib/compass/configuration/adapters.rb +59 -0
  139. data/lib/compass/configuration/comments.rb +22 -0
  140. data/lib/compass/configuration/data.rb +106 -0
  141. data/lib/compass/configuration/defaults.rb +138 -0
  142. data/lib/compass/configuration/helpers.rb +120 -0
  143. data/lib/compass/configuration/inheritance.rb +170 -0
  144. data/lib/compass/configuration/serialization.rb +86 -0
  145. data/lib/compass/dependencies.rb +4 -8
  146. data/lib/compass/errors.rb +4 -1
  147. data/lib/compass/exec.rb +11 -246
  148. data/lib/compass/exec/command_option_parser.rb +23 -0
  149. data/lib/compass/exec/global_options_parser.rb +37 -0
  150. data/lib/compass/exec/helpers.rb +28 -0
  151. data/lib/compass/exec/project_options_parser.rb +46 -0
  152. data/lib/compass/exec/sub_command_ui.rb +45 -0
  153. data/lib/compass/exec/switch_ui.rb +166 -0
  154. data/lib/compass/frameworks.rb +70 -7
  155. data/lib/compass/frameworks/blueprint/stylesheets/_blueprint.sass +31 -0
  156. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_buttons.sass +27 -27
  157. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_colors.sass +0 -0
  158. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_debug.sass +2 -2
  159. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_fancy_type.sass +19 -19
  160. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_form.sass +56 -0
  161. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_grid.sass +34 -33
  162. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_ie.sass +99 -0
  163. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_interaction.sass +58 -0
  164. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_link_icons.sass +9 -9
  165. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_liquid.sass +29 -29
  166. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_print.sass +87 -0
  167. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_reset.sass +20 -18
  168. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_rtl.sass +123 -0
  169. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_scaffolding.sass +6 -4
  170. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_screen.sass +2 -0
  171. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/_typography.sass +162 -0
  172. data/{frameworks/blueprint/stylesheets/blueprint/modules → lib/compass/frameworks/blueprint/stylesheets/blueprint}/_utilities.sass +15 -15
  173. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_buttons.sass +2 -0
  174. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_colors.sass +2 -0
  175. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_debug.sass +2 -0
  176. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_fancy_type.sass +2 -0
  177. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_form.sass +2 -0
  178. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass +2 -0
  179. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_interaction.sass +2 -0
  180. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_link_icons.sass +2 -0
  181. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_liquid.sass +3 -0
  182. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_reset.sass +2 -0
  183. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_rtl.sass +2 -0
  184. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_scaffolding.sass +2 -0
  185. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass +2 -0
  186. data/lib/compass/frameworks/blueprint/stylesheets/blueprint/modules/_utilities.sass +2 -0
  187. data/{frameworks → lib/compass/frameworks}/blueprint/templates/buttons/buttons.sass +4 -4
  188. data/{frameworks → lib/compass/frameworks}/blueprint/templates/buttons/buttons/cross.png +0 -0
  189. data/{frameworks → lib/compass/frameworks}/blueprint/templates/buttons/buttons/key.png +0 -0
  190. data/{frameworks → lib/compass/frameworks}/blueprint/templates/buttons/buttons/tick.png +0 -0
  191. data/lib/compass/frameworks/blueprint/templates/buttons/manifest.rb +17 -0
  192. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons.sass +1 -1
  193. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/doc.png +0 -0
  194. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/email.png +0 -0
  195. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/external.png +0 -0
  196. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/feed.png +0 -0
  197. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/im.png +0 -0
  198. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/pdf.png +0 -0
  199. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/visited.png +0 -0
  200. data/{frameworks → lib/compass/frameworks}/blueprint/templates/link_icons/link_icons/xls.png +0 -0
  201. data/lib/compass/frameworks/blueprint/templates/link_icons/manifest.rb +23 -0
  202. data/{frameworks → lib/compass/frameworks}/blueprint/templates/project/grid.png +0 -0
  203. data/lib/compass/frameworks/blueprint/templates/project/ie.sass +16 -0
  204. data/lib/compass/frameworks/blueprint/templates/project/manifest.rb +32 -0
  205. data/{frameworks → lib/compass/frameworks}/blueprint/templates/project/partials/_base.sass +0 -0
  206. data/lib/compass/frameworks/blueprint/templates/project/print.sass +8 -0
  207. data/{frameworks → lib/compass/frameworks}/blueprint/templates/project/screen.sass +3 -2
  208. data/lib/compass/frameworks/blueprint/templates/project/welcome.html.haml +21 -0
  209. data/lib/compass/frameworks/compass/stylesheets/_compass.sass +2 -0
  210. data/lib/compass/frameworks/compass/stylesheets/compass/_css3.sass +14 -0
  211. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/_layout.sass +0 -0
  212. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/_misc.sass +12 -12
  213. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/_reset.sass +0 -0
  214. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/_utilities.sass +0 -0
  215. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_background_clip.sass +16 -0
  216. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_background_origin.sass +18 -0
  217. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_background_size.sass +14 -0
  218. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_border_radius.sass +47 -0
  219. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_box_shadow.sass +20 -0
  220. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_box_sizing.sass +13 -0
  221. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_columns.sass +37 -0
  222. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_font_face.sass +31 -0
  223. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_gradient.sass +40 -0
  224. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_inline_block.sass +7 -0
  225. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_opacity.sass +18 -0
  226. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_text_shadow.sass +15 -0
  227. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_transform.sass +62 -0
  228. data/lib/compass/frameworks/compass/stylesheets/compass/css3/_transition.sass +57 -0
  229. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/layout/_sticky_footer.sass +9 -7
  230. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/_general.sass +0 -1
  231. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/_links.sass +1 -1
  232. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/_lists.sass +0 -0
  233. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_print.sass +18 -0
  234. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/_sprites.sass +1 -0
  235. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/_tables.sass +0 -0
  236. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/_text.sass +0 -0
  237. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/general/_clearfix.sass +7 -7
  238. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/general/_float.sass +2 -2
  239. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/general/_hacks.sass +2 -2
  240. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/general/_reset.sass +28 -28
  241. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/general/_tabs.sass +0 -0
  242. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/general/_tag_cloud.sass +19 -0
  243. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/links/_hover_link.sass +2 -2
  244. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/links/_link_colors.sass +6 -6
  245. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/links/_unstyled_link.sass +7 -0
  246. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/lists/_bullets.sass +6 -6
  247. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/lists/_horizontal_list.sass +6 -6
  248. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/lists/_inline_list.sass +9 -9
  249. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite_img.sass +52 -0
  250. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/tables/_alternating_rows_and_columns.sass +20 -0
  251. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/tables/_borders.sass +27 -0
  252. data/lib/compass/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.sass +9 -0
  253. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/text/_ellipsis.sass +0 -0
  254. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/text/_nowrap.sass +1 -1
  255. data/{frameworks → lib/compass/frameworks}/compass/stylesheets/compass/utilities/text/_replacement.sass +6 -6
  256. data/{frameworks → lib/compass/frameworks}/compass/templates/ellipsis/ellipsis.sass +0 -0
  257. data/lib/compass/frameworks/compass/templates/ellipsis/manifest.rb +27 -0
  258. data/{frameworks → lib/compass/frameworks}/compass/templates/ellipsis/xml/ellipsis.xml +0 -0
  259. data/lib/compass/frameworks/compass/templates/extension/manifest.rb +20 -0
  260. data/lib/compass/frameworks/compass/templates/extension/stylesheets/main.sass +1 -0
  261. data/lib/compass/frameworks/compass/templates/extension/templates/project/manifest.rb +2 -0
  262. data/lib/compass/frameworks/compass/templates/extension/templates/project/screen.sass +2 -0
  263. data/lib/compass/frameworks/compass/templates/project/USAGE.markdown +32 -0
  264. data/{frameworks → lib/compass/frameworks}/compass/templates/project/ie.sass +0 -0
  265. data/{frameworks → lib/compass/frameworks}/compass/templates/project/manifest.rb +1 -0
  266. data/{frameworks → lib/compass/frameworks}/compass/templates/project/print.sass +0 -0
  267. data/{frameworks → lib/compass/frameworks}/compass/templates/project/screen.sass +0 -0
  268. data/lib/compass/grid_builder.rb +15 -11
  269. data/lib/compass/installers.rb +3 -5
  270. data/lib/compass/installers/bare_installer.rb +58 -0
  271. data/lib/compass/installers/base.rb +40 -51
  272. data/lib/compass/installers/manifest.rb +55 -2
  273. data/lib/compass/installers/manifest_installer.rb +59 -0
  274. data/lib/compass/installers/template_context.rb +44 -0
  275. data/lib/compass/logger.rb +28 -2
  276. data/lib/compass/sass_extensions.rb +2 -2
  277. data/lib/compass/sass_extensions/functions.rb +4 -2
  278. data/lib/compass/sass_extensions/functions/color_stop.rb +10 -0
  279. data/lib/compass/sass_extensions/functions/font_files.rb +11 -0
  280. data/lib/compass/sass_extensions/functions/inline_image.rb +22 -1
  281. data/lib/compass/sass_extensions/functions/selectors.rb +4 -1
  282. data/lib/compass/sass_extensions/functions/urls.rb +22 -2
  283. data/lib/compass/sass_extensions/monkey_patches.rb +3 -3
  284. data/lib/compass/sass_extensions/monkey_patches/traversal.rb +23 -0
  285. data/lib/compass/stats.rb +92 -0
  286. data/lib/compass/validator.rb +2 -3
  287. data/lib/vendor/fssm/state.rb +1 -1
  288. data/test/command_line_helper.rb +19 -16
  289. data/test/command_line_test.rb +5 -4
  290. data/test/compass_test.rb +16 -15
  291. data/test/configuration_test.rb +24 -19
  292. data/test/fixtures/stylesheets/blueprint/css/typography.css +5 -3
  293. data/test/fixtures/stylesheets/blueprint/sass/screen.sass +1 -1
  294. data/test/fixtures/stylesheets/blueprint/sass/typography.sass +2 -2
  295. data/test/fixtures/stylesheets/compass/css/layout.css +2 -0
  296. data/test/fixtures/stylesheets/compass/css/print.css +2 -8
  297. data/test/fixtures/stylesheets/compass/css/reset.css +3 -3
  298. data/test/fixtures/stylesheets/image_urls/css/screen.css +2 -0
  299. data/test/fixtures/stylesheets/relative/assets/images/testing.png +0 -0
  300. data/test/fixtures/stylesheets/relative/config.rb +9 -0
  301. data/test/fixtures/stylesheets/relative/css/ie.css +1 -0
  302. data/test/fixtures/stylesheets/relative/css/print.css +1 -0
  303. data/test/fixtures/stylesheets/relative/css/screen.css +1 -0
  304. data/test/fixtures/stylesheets/relative/sass/ie.sass +6 -0
  305. data/test/fixtures/stylesheets/relative/sass/print.sass +6 -0
  306. data/test/fixtures/stylesheets/relative/sass/screen.sass +3 -0
  307. data/test/io_helper.rb +36 -0
  308. data/test/rails_helper.rb +40 -0
  309. data/test/rails_integration_test.rb +7 -44
  310. data/test/sass_extensions_test.rb +2 -2
  311. data/test/test_helper.rb +9 -2
  312. metadata +257 -110
  313. data/frameworks/blueprint.rb +0 -2
  314. data/frameworks/blueprint/stylesheets/_blueprint.sass +0 -3
  315. data/frameworks/blueprint/stylesheets/blueprint/_ie.sass +0 -93
  316. data/frameworks/blueprint/stylesheets/blueprint/_print.sass +0 -83
  317. data/frameworks/blueprint/stylesheets/blueprint/_reset.sass +0 -3
  318. data/frameworks/blueprint/stylesheets/blueprint/_screen.sass +0 -15
  319. data/frameworks/blueprint/stylesheets/blueprint/modules/_form.sass +0 -55
  320. data/frameworks/blueprint/stylesheets/blueprint/modules/_interaction.sass +0 -58
  321. data/frameworks/blueprint/stylesheets/blueprint/modules/_rtl.sass +0 -104
  322. data/frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass +0 -155
  323. data/frameworks/blueprint/templates/buttons/manifest.rb +0 -5
  324. data/frameworks/blueprint/templates/link_icons/manifest.rb +0 -10
  325. data/frameworks/blueprint/templates/project/ie.sass +0 -15
  326. data/frameworks/blueprint/templates/project/manifest.rb +0 -6
  327. data/frameworks/blueprint/templates/project/print.sass +0 -3
  328. data/frameworks/compass.rb +0 -2
  329. data/frameworks/compass/stylesheets/_compass.sass +0 -1
  330. data/frameworks/compass/stylesheets/compass/utilities/_print.sass +0 -24
  331. data/frameworks/compass/stylesheets/compass/utilities/_sprites.sass +0 -1
  332. data/frameworks/compass/stylesheets/compass/utilities/general/_inline_block.sass +0 -6
  333. data/frameworks/compass/stylesheets/compass/utilities/general/_tag_cloud.sass +0 -19
  334. data/frameworks/compass/stylesheets/compass/utilities/links/_unstyled_link.sass +0 -5
  335. data/frameworks/compass/stylesheets/compass/utilities/sprites/_sprite_img.sass +0 -12
  336. data/frameworks/compass/stylesheets/compass/utilities/tables/_alternating_rows_and_columns.sass +0 -20
  337. data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.sass +0 -27
  338. data/frameworks/compass/stylesheets/compass/utilities/tables/_scaffolding.sass +0 -9
  339. data/frameworks/compass/templates/ellipsis/manifest.rb +0 -2
  340. data/frameworks/yui.rb +0 -2
  341. data/frameworks/yui/stylesheets/yui/modules/_base.sass +0 -60
  342. data/lib/compass/installers/rails.rb +0 -135
  343. data/lib/compass/installers/stand_alone.rb +0 -60
  344. data/test/fixtures/stylesheets/yui/config.rb +0 -9
  345. data/test/fixtures/stylesheets/yui/css/mixins.css +0 -13
  346. data/test/fixtures/stylesheets/yui/sass/base.sass +0 -3
  347. data/test/fixtures/stylesheets/yui/sass/fonts.sass +0 -3
  348. data/test/fixtures/stylesheets/yui/sass/grids.sass +0 -3
  349. data/test/fixtures/stylesheets/yui/sass/mixins.sass +0 -16
@@ -1,5 +1,5 @@
1
1
  module Compass::SassExtensions
2
2
  end
3
3
 
4
- require File.join(File.dirname(__FILE__), 'sass_extensions', 'functions')
5
- require File.join(File.dirname(__FILE__), 'sass_extensions', 'monkey_patches')
4
+ require 'compass/sass_extensions/functions'
5
+ require 'compass/sass_extensions/monkey_patches'
@@ -1,8 +1,8 @@
1
1
  module Compass::SassExtensions::Functions
2
2
  end
3
3
 
4
- ['selectors', 'enumerate', 'urls', 'display', 'inline_image'].each do |func|
5
- require File.join(File.dirname(__FILE__), 'functions', func)
4
+ %w(selectors enumerate urls display inline_image color_stop font_files).each do |func|
5
+ require "compass/sass_extensions/functions/#{func}"
6
6
  end
7
7
 
8
8
  module Sass::Script::Functions
@@ -11,6 +11,8 @@ module Sass::Script::Functions
11
11
  include Compass::SassExtensions::Functions::Urls
12
12
  include Compass::SassExtensions::Functions::Display
13
13
  include Compass::SassExtensions::Functions::InlineImage
14
+ include Compass::SassExtensions::Functions::ColorStop
15
+ include Compass::SassExtensions::Functions::FontFiles
14
16
  end
15
17
 
16
18
  # Wierd that this has to be re-included to pick up sub-modules. Ruby bug?
@@ -0,0 +1,10 @@
1
+ module Compass::SassExtensions::Functions::ColorStop
2
+ def color_stop(*args)
3
+ raise Sass::SyntaxError, "An even number of arguments must be passed to color-stop()" unless args.size % 2 == 0
4
+ stops = []
5
+ while args.size > 0
6
+ stops << "color-stop(#{args.shift}, #{args.shift})"
7
+ end
8
+ Sass::Script::String.new(stops.join(", "))
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ module Compass::SassExtensions::Functions::FontFiles
2
+ def font_files(*args)
3
+ raise Sass::SyntaxError, "An even number of arguments must be passed to font_files()" unless args.size % 2 == 0
4
+ files = []
5
+ while args.size > 0
6
+ files << "#{font_url(args.shift)} format('#{args.shift}')"
7
+ end
8
+ Sass::Script::String.new(files.join(", "))
9
+ end
10
+
11
+ end
@@ -3,11 +3,24 @@ module Compass::SassExtensions::Functions::InlineImage
3
3
 
4
4
  def inline_image(path, mime_type = nil)
5
5
  path = path.value
6
- real_path = File.join(Compass.configuration.project_path, Compass.configuration.images_dir, path)
6
+ real_path = File.join(Compass.configuration.images_path, path)
7
7
  url = "url('data:#{compute_mime_type(path,mime_type)};base64,#{data(real_path)}')"
8
8
  Sass::Script::String.new(url)
9
9
  end
10
10
 
11
+ def inline_font_files(*args)
12
+ raise Sass::SyntaxError, "An even number of arguments must be passed to font_files()" unless args.size % 2 == 0
13
+ path = path.value
14
+ files = []
15
+ while args.size > 0
16
+ path = args.shift.value
17
+ real_path = File.join(Compass.configuration.fonts_path, path)
18
+ url = "url('data:#{compute_mime_type(path,mime_type)};base64,#{data(real_path)}')"
19
+ files << "#{url} format('#{args.shift}')"
20
+ end
21
+ Sass::Script::String.new(files.join(", "))
22
+ end
23
+
11
24
  private
12
25
  def compute_mime_type(path, mime_type)
13
26
  return mime_type if mime_type
@@ -18,6 +31,14 @@ private
18
31
  'image/jpeg'
19
32
  when /\.gif$/i
20
33
  'image/gif'
34
+ when /\.otf$/i
35
+ 'font/opentype'
36
+ when /\.ttf$/i
37
+ 'font/truetype'
38
+ when /\.woff$/i
39
+ 'font/woff'
40
+ when /\.off$/i
41
+ 'font/openfont'
21
42
  when /\.([a-zA-Z]+)$/
22
43
  "image/#{Regexp.last_match(1).downcase}"
23
44
  else
@@ -33,7 +33,10 @@ module Compass::SassExtensions::Functions::Selectors
33
33
  # #{append_selector(!selector, !to_append)}
34
34
  # width: 2px
35
35
  def append_selector(selector, to_append)
36
- Sass::Script::String.new(selector.value.split(COMMA_SEPARATOR).map{|s| "#{s}#{to_append}"}.join(", "))
36
+ ancestors = selector.value.split(COMMA_SEPARATOR)
37
+ descendants = to_append.value.split(COMMA_SEPARATOR)
38
+ nested = ancestors.map{|a| descendants.map{|d| "#{a}#{d}"}.join(", ")}.join(", ")
39
+ Sass::Script::String.new(nested)
37
40
  end
38
41
 
39
42
  end
@@ -8,14 +8,34 @@ module Compass::SassExtensions::Functions::Urls
8
8
  elsif Compass.configuration.http_stylesheets_path
9
9
  Compass.configuration.http_stylesheets_path
10
10
  else
11
- Compass.configuration.root_relative(Compass.configuration.css_dir)
11
+ Compass.configuration.http_root_relative(Compass.configuration.css_dir)
12
12
  end
13
13
 
14
14
  url("#{http_stylesheets_path}/#{path}")
15
15
  end
16
16
 
17
+ def font_url(path)
18
+ path = path.value # get to the string value of the literal.
19
+
20
+ # Short curcuit if they have provided an absolute url.
21
+ if absolute_path?(path)
22
+ return Sass::Script::String.new("url(#{path})")
23
+ end
24
+
25
+ # Compute the path to the font file, either root relative or stylesheet relative
26
+ # or nil if the http_fonts_path cannot be determined from the configuration.
27
+ http_fonts_path = if relative?
28
+ compute_relative_path(Compass.configuration.fonts_dir)
29
+ else
30
+ Compass.configuration.http_fonts_path
31
+ end
32
+
33
+ url("#{http_fonts_path}/#{path}")
34
+ end
35
+
17
36
  def image_url(path)
18
37
  path = path.value # get to the string value of the literal.
38
+
19
39
  # Short curcuit if they have provided an absolute url.
20
40
  if absolute_path?(path)
21
41
  return Sass::Script::String.new("url(#{path})")
@@ -28,7 +48,7 @@ module Compass::SassExtensions::Functions::Urls
28
48
  elsif Compass.configuration.http_images_path
29
49
  Compass.configuration.http_images_path
30
50
  else
31
- Compass.configuration.root_relative(Compass.configuration.images_dir)
51
+ Compass.configuration.http_root_relative(Compass.configuration.images_dir)
32
52
  end
33
53
 
34
54
  # Compute the real path to the image on the file stystem if the images_dir is set.
@@ -1,3 +1,3 @@
1
- ['stylesheet_updating'].each do |patch|
2
- require File.join(File.dirname(__FILE__), 'monkey_patches', patch)
3
- end
1
+ %w(stylesheet_updating traversal).each do |patch|
2
+ require "compass/sass_extensions/monkey_patches/#{patch}"
3
+ end
@@ -0,0 +1,23 @@
1
+ module Sass
2
+ module Tree
3
+ class Node
4
+ unless method_defined?(:visit_depth_first)
5
+ def visit_depth_first(visitor)
6
+ visitor.visit(self)
7
+ visitor.down(self) if children.any? and visitor.respond_to?(:down)
8
+ if is_a?(ImportNode) && visitor.import?(self)
9
+ root = Sass::Files.tree_for(import, @options)
10
+ imported_children = root.children
11
+ end
12
+
13
+ (imported_children || children).each do |child|
14
+ break if visitor.respond_to?(:stop?) && visitor.stop?
15
+ child.visit_depth_first(visitor)
16
+ end
17
+ visitor.up(self) if children.any?
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+
@@ -0,0 +1,92 @@
1
+ module Compass
2
+ module Stats
3
+ class StatsVisitor
4
+ attr_accessor :rule_count, :prop_count, :mixin_def_count, :mixin_count
5
+ def initialize
6
+ self.rule_count = 0
7
+ self.prop_count = 0
8
+ self.mixin_def_count = 0
9
+ self.mixin_count = 0
10
+ end
11
+ def visit(node)
12
+ self.prop_count += 1 if node.is_a?(Sass::Tree::PropNode) && !node.children.any?
13
+ if node.is_a?(Sass::Tree::RuleNode)
14
+ self.rule_count += node.rules.map{|r| r.split(/,/)}.flatten.compact.size
15
+ end
16
+ self.mixin_def_count += 1 if node.is_a?(Sass::Tree::MixinDefNode)
17
+ self.mixin_count += 1 if node.is_a?(Sass::Tree::MixinNode)
18
+ end
19
+ def up(node)
20
+ end
21
+ def down(node)
22
+ end
23
+ def import?(node)
24
+ return false
25
+ full_filename = node.send(:import)
26
+ full_filename != Compass.deprojectize(full_filename)
27
+ end
28
+ end
29
+ class CssFile
30
+ attr_accessor :path, :css
31
+ attr_accessor :selector_count, :prop_count
32
+ def initialize(path)
33
+ require 'css_parser'
34
+ self.path = path
35
+ self.css = CssParser::Parser.new
36
+ self.css.add_block!(contents)
37
+ self.selector_count = 0
38
+ self.prop_count = 0
39
+ end
40
+ def contents
41
+ @contents ||= File.read(path)
42
+ end
43
+ def lines
44
+ contents.inject(0){|m,c| m + 1 }
45
+ end
46
+ def analyze!
47
+ css.each_selector do |selector, declarations, specificity|
48
+ sels = selector.split(/,/).size
49
+ props = declarations.split(/;/).size
50
+ self.selector_count += sels
51
+ self.prop_count += props
52
+ end
53
+ end
54
+ end
55
+ class SassFile
56
+ attr_accessor :path
57
+ attr_reader :visitor
58
+ def initialize(path)
59
+ self.path = path
60
+ end
61
+ def contents
62
+ @contents ||= File.read(path)
63
+ end
64
+ def tree
65
+ @tree = Sass::Engine.new(contents, Compass.configuration.to_sass_engine_options).to_tree
66
+ end
67
+ def visit_tree!
68
+ @visitor = StatsVisitor.new
69
+ tree.visit_depth_first(@visitor)
70
+ @visitor
71
+ end
72
+ def analyze!
73
+ visit_tree!
74
+ end
75
+ def lines
76
+ contents.inject(0){|m,c| m + 1 }
77
+ end
78
+ def rule_count
79
+ visitor.rule_count
80
+ end
81
+ def prop_count
82
+ visitor.prop_count
83
+ end
84
+ def mixin_def_count
85
+ visitor.mixin_def_count
86
+ end
87
+ def mixin_count
88
+ visitor.mixin_count
89
+ end
90
+ end
91
+ end
92
+ end
@@ -2,9 +2,8 @@ begin
2
2
  require 'rubygems'
3
3
  require 'compass-validator'
4
4
  rescue LoadError
5
- puts %Q{The Compass CSS Validator could not be loaded. Please install it:
5
+ raise Compass::MissingDependency, %Q{The Compass CSS Validator could not be loaded. Please install it:
6
6
 
7
7
  sudo gem install chriseppstein-compass-validator --source http://gems.github.com/
8
8
  }
9
- exit(1)
10
- end
9
+ end
@@ -46,7 +46,7 @@ class FSSM::State
46
46
  end
47
47
 
48
48
  def add_glob(base, glob)
49
- Pathname.glob(base.join(glob)).each do |fn|
49
+ Pathname.glob(base.join(glob).to_s).each do |fn|
50
50
  @cache.set(fn)
51
51
  end
52
52
  end
@@ -1,3 +1,5 @@
1
+ require 'timeout'
2
+
1
3
  module Compass::CommandLineHelper
2
4
  def compass(*arguments)
3
5
  options = arguments.last.is_a?(Hash) ? arguments.pop : {}
@@ -17,30 +19,38 @@ module Compass::CommandLineHelper
17
19
  else
18
20
  eof_at = nil
19
21
  timeout(1) do
20
- output << io.readpartial(1024)
22
+ partial_output = io.readpartial(1024)
23
+ # puts "))))#{partial_output}((((("
24
+ output << partial_output
21
25
  end
22
- prompt = output.split("\n").last
26
+ prompt = output.split("\n").last.strip
23
27
  if response = responder.response_for(prompt)
24
28
  io.puts response
25
29
  end
26
30
  end
27
31
  end
28
32
  responder.assert_required_responses!
29
- @last_result = output
33
+ @last_result = decolorize(output)
30
34
  else
31
35
  #child process
32
36
  execute *arguments
33
37
  end
34
38
  end
35
39
  else
36
- @last_result = capture_output do
37
- execute *arguments
40
+ @last_error = capture_warning do
41
+ @last_result = decolorize(capture_output do
42
+ @last_exit_code = execute *arguments
43
+ end)
38
44
  end
39
45
  end
40
46
  rescue Timeout::Error
41
47
  fail "Read from child process timed out"
42
48
  end
43
49
 
50
+ def decolorize(str)
51
+ str.gsub(/\e\[\d+m/,'')
52
+ end
53
+
44
54
  class Responder
45
55
  Response = Struct.new(:prompt, :text, :required, :responded)
46
56
  def initialize
@@ -73,7 +83,7 @@ module Compass::CommandLineHelper
73
83
  actions_found << line.first if line.last == path
74
84
  end
75
85
  message = "Action #{action.inspect} was not performed on: #{path}."
76
- message += "The following actions were performed: #{actions_found.join(", ")}" if actions_found.any?
86
+ message += "The following actions were performed: #{actions_found.map{|a|a.inspect}.join(", ")}" if actions_found.any?
77
87
  puts @last_result
78
88
  fail message
79
89
  end
@@ -88,15 +98,8 @@ module Compass::CommandLineHelper
88
98
  FileUtils.rm_rf(d)
89
99
  end
90
100
 
91
- def capture_output
92
- real_stdout, $stdout = $stdout, StringIO.new
93
- yield
94
- $stdout.string
95
- ensure
96
- $stdout = real_stdout
97
- end
98
-
99
101
  def execute(*arguments)
100
- Compass::Exec::Compass.new(arguments).run!
102
+ command_line_class = Compass::Exec::Helpers.select_appropriate_command_line_ui(arguments)
103
+ command_line_class.new(arguments).run!
101
104
  end
102
- end
105
+ end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__)+'/test_helper'
1
+ require 'test_helper'
2
2
  require 'fileutils'
3
3
  require 'compass'
4
4
  require 'compass/exec'
@@ -7,9 +7,10 @@ require 'timeout'
7
7
  class CommandLineTest < Test::Unit::TestCase
8
8
  include Compass::TestCaseHelper
9
9
  include Compass::CommandLineHelper
10
+ include Compass::IoHelper
10
11
 
11
12
  def teardown
12
- Compass.configuration.reset!
13
+ Compass.reset_configuration!
13
14
  end
14
15
 
15
16
  def test_print_version
@@ -19,7 +20,7 @@ class CommandLineTest < Test::Unit::TestCase
19
20
 
20
21
  def test_list_frameworks
21
22
  compass "--list-frameworks"
22
- assert_equal(%w(blueprint compass yui), @last_result.split.sort)
23
+ assert_equal(%w(blueprint compass), @last_result.split.sort)
23
24
  end
24
25
 
25
26
  def test_basic_install
@@ -63,4 +64,4 @@ class CommandLineTest < Test::Unit::TestCase
63
64
  end
64
65
  end
65
66
 
66
- end
67
+ end
@@ -1,15 +1,15 @@
1
- require File.dirname(__FILE__)+'/test_helper'
1
+ require 'test_helper'
2
2
  require 'fileutils'
3
3
  require 'compass'
4
4
 
5
5
  class CompassTest < Test::Unit::TestCase
6
6
  include Compass::TestCaseHelper
7
7
  def setup
8
- Compass.configuration.reset!
8
+ Compass.reset_configuration!
9
9
  end
10
10
 
11
11
  def teardown
12
- teardown_fixtures :blueprint, :yui, :empty, :compass, :image_urls
12
+ teardown_fixtures :blueprint, :empty, :compass, :image_urls, :relative
13
13
  end
14
14
 
15
15
  def teardown_fixtures(*project_names)
@@ -37,15 +37,6 @@ class CompassTest < Test::Unit::TestCase
37
37
  end
38
38
  end
39
39
 
40
- def test_yui
41
- within_project('yui') do |proj|
42
- each_css_file(proj.css_path) do |css_file|
43
- assert_no_errors css_file, 'yui'
44
- end
45
- assert_renders_correctly :mixins
46
- end
47
- end
48
-
49
40
  def test_compass
50
41
  within_project('compass') do |proj|
51
42
  each_css_file(proj.css_path) do |css_file|
@@ -64,6 +55,15 @@ class CompassTest < Test::Unit::TestCase
64
55
  end
65
56
  end
66
57
 
58
+ def test_image_urls
59
+ within_project('relative') do |proj|
60
+ each_css_file(proj.css_path) do |css_file|
61
+ assert_no_errors css_file, 'relative'
62
+ end
63
+ assert_renders_correctly :screen
64
+ end
65
+ end
66
+
67
67
  private
68
68
  def assert_no_errors(css_file, project_name)
69
69
  file = css_file[(tempfile_path(project_name).size+1)..-1]
@@ -77,7 +77,7 @@ private
77
77
  actual_result_file = "#{tempfile_path(@current_project)}/#{name}.css"
78
78
  expected_result_file = "#{result_path(@current_project)}/#{name}.css"
79
79
  actual_lines = File.read(actual_result_file).split("\n")
80
- expected_lines = File.read(expected_result_file).split("\n")
80
+ expected_lines = ERB.new(File.read(expected_result_file)).result(binding).split("\n")
81
81
  expected_lines.zip(actual_lines).each_with_index do |pair, line|
82
82
  message = "template: #{name}\nline: #{line + 1}"
83
83
  assert_equal(pair.first, pair.last, message)
@@ -90,8 +90,9 @@ private
90
90
 
91
91
  def within_project(project_name)
92
92
  @current_project = project_name
93
- Compass.configuration.parse(configuration_file(project_name)) if File.exists?(configuration_file(project_name))
93
+ Compass.add_configuration(configuration_file(project_name)) if File.exists?(configuration_file(project_name))
94
94
  Compass.configuration.project_path = project_path(project_name)
95
+ Compass.configuration.environment = :production
95
96
  args = Compass.configuration.to_compiler_arguments(:logger => Compass::NullLogger.new)
96
97
  if Compass.configuration.sass_path && File.exists?(Compass.configuration.sass_path)
97
98
  compiler = Compass::Compiler.new *args
@@ -138,4 +139,4 @@ private
138
139
  File.join(project_path(project_name), "saved")
139
140
  end
140
141
 
141
- end
142
+ end