compass 0.12.2 → 0.13.alpha.4

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 (257) hide show
  1. data/README.markdown +5 -5
  2. data/Rakefile +14 -9
  3. data/VERSION.yml +5 -4
  4. data/features/command_line.feature +8 -50
  5. data/features/step_definitions/command_line_steps.rb +3 -2
  6. data/frameworks/compass/stylesheets/compass/_css3.scss +3 -0
  7. data/frameworks/compass/stylesheets/compass/_support.scss +4 -4
  8. data/frameworks/compass/stylesheets/compass/css3/_animation.scss +121 -0
  9. data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +14 -9
  10. data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +32 -36
  11. data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +32 -35
  12. data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +12 -15
  13. data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +27 -48
  14. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +22 -35
  15. data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +12 -8
  16. data/frameworks/compass/stylesheets/compass/css3/_box.scss +58 -83
  17. data/frameworks/compass/stylesheets/compass/css3/_columns.scss +113 -71
  18. data/frameworks/compass/stylesheets/compass/css3/_filter.scss +38 -18
  19. data/frameworks/compass/stylesheets/compass/css3/_flexbox.scss +294 -0
  20. data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +13 -22
  21. data/frameworks/compass/stylesheets/compass/css3/_images.scss +45 -48
  22. data/frameworks/compass/stylesheets/compass/css3/_inline-block.scss +1 -1
  23. data/frameworks/compass/stylesheets/compass/css3/_regions.scss +12 -8
  24. data/frameworks/compass/stylesheets/compass/css3/_selection.scss +31 -0
  25. data/frameworks/compass/stylesheets/compass/css3/_shared.scss +226 -2
  26. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +21 -26
  27. data/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss +3 -3
  28. data/frameworks/compass/stylesheets/compass/css3/_transform.scss +8 -8
  29. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +3 -3
  30. data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +43 -4
  31. data/frameworks/compass/stylesheets/compass/typography/_units.scss +152 -0
  32. data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +180 -102
  33. data/frameworks/compass/stylesheets/compass/typography/lists/_horizontal-list.scss +5 -3
  34. data/frameworks/compass/stylesheets/compass/typography/lists/_inline-list.scss +6 -3
  35. data/frameworks/compass/stylesheets/compass/typography/text/_ellipsis.scss +1 -1
  36. data/frameworks/compass/stylesheets/compass/utilities/general/_float.scss +7 -3
  37. data/frameworks/compass/stylesheets/compass/utilities/general/_hacks.scss +2 -2
  38. data/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss +32 -13
  39. data/frameworks/compass/stylesheets/compass/utilities/tables/_borders.scss +14 -9
  40. data/lib/compass/actions.rb +5 -1
  41. data/lib/compass/commands/project_base.rb +7 -1
  42. data/lib/compass/commands/update_project.rb +2 -3
  43. data/lib/compass/commands/watch_project.rb +11 -113
  44. data/lib/compass/commands.rb +1 -1
  45. data/lib/compass/compiler.rb +6 -0
  46. data/lib/compass/configuration/data.rb +1 -1
  47. data/lib/compass/configuration/helpers.rb +2 -0
  48. data/lib/compass/exec/global_options_parser.rb +1 -1
  49. data/lib/compass/exec/project_options_parser.rb +13 -1
  50. data/lib/compass/logger.rb +2 -0
  51. data/lib/compass/sass_extensions/functions/cross_browser_support.rb +1 -1
  52. data/lib/compass/sass_extensions/functions/env.rb +18 -0
  53. data/lib/compass/sass_extensions/functions/gradient_support.rb +101 -29
  54. data/lib/compass/sass_extensions/functions/image_size.rb +2 -1
  55. data/lib/compass/sass_extensions/functions/math.rb +14 -2
  56. data/lib/compass/sass_extensions/functions/sprites.rb +82 -22
  57. data/lib/compass/sass_extensions/functions/urls.rb +37 -6
  58. data/lib/compass/sass_extensions/functions/utility.rb +10 -0
  59. data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +5 -1
  60. data/lib/compass/sass_extensions/sprites/engines.rb +3 -3
  61. data/lib/compass/sass_extensions/sprites/image.rb +7 -2
  62. data/lib/compass/sass_extensions/sprites/image_methods.rb +5 -1
  63. data/lib/compass/sass_extensions/sprites/images.rb +29 -0
  64. data/lib/compass/sass_extensions/sprites/layout/diagonal.rb +42 -0
  65. data/lib/compass/sass_extensions/sprites/layout/horizontal.rb +66 -0
  66. data/lib/compass/sass_extensions/sprites/layout/smart.rb +33 -0
  67. data/lib/compass/sass_extensions/sprites/layout/vertical.rb +68 -0
  68. data/lib/compass/sass_extensions/sprites/layout.rb +39 -0
  69. data/lib/compass/sass_extensions/sprites/layout_methods.rb +9 -115
  70. data/lib/compass/sass_extensions/sprites/sprite_map.rb +5 -1
  71. data/lib/compass/sass_extensions/sprites/sprite_methods.rb +9 -14
  72. data/lib/compass/sass_extensions/sprites.rb +2 -0
  73. data/lib/compass/sprite_importer/content.erb +29 -24
  74. data/lib/compass/sprite_importer.rb +7 -11
  75. data/lib/compass/watcher/compiler.rb +59 -0
  76. data/lib/compass/watcher/project_watcher.rb +111 -0
  77. data/lib/compass/watcher/watch.rb +33 -0
  78. data/lib/compass/watcher.rb +11 -0
  79. data/lib/compass.rb +2 -2
  80. data/test/fixtures/sprites/public/images/numeric/200.png +0 -0
  81. data/test/fixtures/stylesheets/busted_font_urls/config.rb +32 -0
  82. data/test/fixtures/stylesheets/busted_font_urls/css/screen.css +7 -0
  83. data/test/fixtures/stylesheets/busted_font_urls/fonts/grid.ttf +0 -0
  84. data/test/fixtures/stylesheets/busted_font_urls/fonts/sub/dk.ttf +0 -0
  85. data/test/fixtures/stylesheets/busted_font_urls/sass/screen.sass +11 -0
  86. data/test/fixtures/stylesheets/busted_font_urls/tmp/screen.css +7 -0
  87. data/test/fixtures/stylesheets/compass/css/animation-with-legacy-ie.css +33 -0
  88. data/test/fixtures/stylesheets/compass/css/animation.css +33 -0
  89. data/test/fixtures/stylesheets/compass/css/background-clip.css +5 -0
  90. data/test/fixtures/stylesheets/compass/css/background-origin.css +15 -0
  91. data/test/fixtures/stylesheets/compass/css/background-size.css +24 -0
  92. data/test/fixtures/stylesheets/compass/css/columns.css +32 -61
  93. data/test/fixtures/stylesheets/compass/css/flexbox.css +121 -0
  94. data/test/fixtures/stylesheets/compass/css/gradients.css +65 -37
  95. data/test/fixtures/stylesheets/compass/css/grid_background.css +10 -17
  96. data/test/fixtures/stylesheets/compass/css/hyphenation.css +4 -2
  97. data/test/fixtures/stylesheets/compass/css/lists.css +5 -5
  98. data/test/fixtures/stylesheets/compass/css/pie.css +0 -3
  99. data/test/fixtures/stylesheets/compass/css/regions.css +4 -2
  100. data/test/fixtures/stylesheets/compass/css/selection.css +13 -0
  101. data/test/fixtures/stylesheets/compass/css/sprites.css +251 -250
  102. data/test/fixtures/stylesheets/compass/css/text_shadow.css +6 -6
  103. data/test/fixtures/stylesheets/compass/css/transition.css +6 -0
  104. data/test/fixtures/stylesheets/compass/css/units.css +30 -0
  105. data/test/fixtures/stylesheets/compass/css/user-interface.css +22 -1
  106. data/test/fixtures/stylesheets/compass/css/utilities.css +15 -0
  107. data/test/fixtures/stylesheets/compass/css/vertical_rhythm.css +196 -27
  108. data/test/fixtures/stylesheets/compass/images/flag-s5b4f509715.png +0 -0
  109. data/test/fixtures/stylesheets/compass/sass/animation-with-legacy-ie.scss +19 -0
  110. data/test/fixtures/stylesheets/compass/sass/animation.scss +13 -0
  111. data/test/fixtures/stylesheets/compass/sass/background-clip.scss +4 -2
  112. data/test/fixtures/stylesheets/compass/sass/background-origin.scss +10 -0
  113. data/test/fixtures/stylesheets/compass/sass/background-size.scss +12 -0
  114. data/test/fixtures/stylesheets/compass/sass/columns.scss +10 -9
  115. data/test/fixtures/stylesheets/compass/sass/flexbox.scss +44 -0
  116. data/test/fixtures/stylesheets/compass/sass/gradients.sass +32 -3
  117. data/test/fixtures/stylesheets/compass/sass/selection.scss +13 -0
  118. data/test/fixtures/stylesheets/compass/sass/transition.scss +1 -1
  119. data/test/fixtures/stylesheets/compass/sass/units.scss +45 -0
  120. data/test/fixtures/stylesheets/compass/sass/user-interface.scss +13 -1
  121. data/test/fixtures/stylesheets/compass/sass/utilities.scss +10 -0
  122. data/test/fixtures/stylesheets/compass/sass/vertical_rhythm.scss +208 -7
  123. data/test/fixtures/stylesheets/envtest/css/env.css +8 -0
  124. data/test/fixtures/stylesheets/envtest/sass/env.scss +16 -0
  125. data/test/fixtures/stylesheets/envtest/tmp/env.css +4 -4
  126. data/test/fixtures/stylesheets/valid/css/simple.css +4 -0
  127. data/test/helpers/diff.rb +1 -1
  128. data/test/integrations/compass_test.rb +23 -14
  129. data/test/integrations/sprites_test.rb +305 -63
  130. data/test/test_helper.rb +4 -13
  131. data/test/units/command_line_test.rb +0 -2
  132. data/test/units/compass_module_test.rb +1 -1
  133. data/test/units/configuration_test.rb +12 -0
  134. data/test/units/regressions_test.rb +8 -8
  135. data/test/units/sass_extensions_test.rb +13 -11
  136. data/test/units/sass_extenstions/gradients_test.rb +33 -0
  137. data/test/units/sprites/image_test.rb +5 -0
  138. data/test/units/sprites/images_test.rb +46 -0
  139. data/test/units/sprites/layout_test.rb +29 -4
  140. data/test/units/watcher/compiler_test.rb +39 -0
  141. data/test/units/watcher/project_watcher_test.rb +73 -0
  142. data/test/units/watcher/watch_test.rb +42 -0
  143. metadata +137 -241
  144. data/examples/compass/images/emblem-a043c4f148.png +0 -0
  145. data/examples/compass/images/flag-03c3b29b35.png +0 -0
  146. data/examples/compass/images/flag-21cfbfbfc8.png +0 -0
  147. data/examples/css3/extensions/fancy-fonts/templates/project/Prociono.otf +0 -0
  148. data/examples/css3/extensions/fancy-fonts/templates/project/bgrove.otf +0 -0
  149. data/frameworks/blueprint/stylesheets/_blueprint.scss +0 -37
  150. data/frameworks/blueprint/stylesheets/blueprint/_buttons.scss +0 -101
  151. data/frameworks/blueprint/stylesheets/blueprint/_colors.scss +0 -36
  152. data/frameworks/blueprint/stylesheets/blueprint/_debug.scss +0 -28
  153. data/frameworks/blueprint/stylesheets/blueprint/_fancy-type.scss +0 -88
  154. data/frameworks/blueprint/stylesheets/blueprint/_form.scss +0 -66
  155. data/frameworks/blueprint/stylesheets/blueprint/_grid.scss +0 -258
  156. data/frameworks/blueprint/stylesheets/blueprint/_ie.scss +0 -111
  157. data/frameworks/blueprint/stylesheets/blueprint/_interaction.scss +0 -66
  158. data/frameworks/blueprint/stylesheets/blueprint/_link-icons.scss +0 -37
  159. data/frameworks/blueprint/stylesheets/blueprint/_liquid.scss +0 -152
  160. data/frameworks/blueprint/stylesheets/blueprint/_print.scss +0 -86
  161. data/frameworks/blueprint/stylesheets/blueprint/_reset.scss +0 -3
  162. data/frameworks/blueprint/stylesheets/blueprint/_rtl.scss +0 -121
  163. data/frameworks/blueprint/stylesheets/blueprint/_scaffolding.scss +0 -52
  164. data/frameworks/blueprint/stylesheets/blueprint/_typography.scss +0 -90
  165. data/frameworks/blueprint/stylesheets/blueprint/_utilities.scss +0 -37
  166. data/frameworks/blueprint/stylesheets/blueprint/reset/_utilities.scss +0 -83
  167. data/frameworks/blueprint/templates/basic/grid.png +0 -0
  168. data/frameworks/blueprint/templates/basic/ie.sass +0 -4
  169. data/frameworks/blueprint/templates/basic/manifest.rb +0 -30
  170. data/frameworks/blueprint/templates/basic/partials/_base.sass +0 -10
  171. data/frameworks/blueprint/templates/basic/print.sass +0 -4
  172. data/frameworks/blueprint/templates/basic/screen.sass +0 -12
  173. data/frameworks/blueprint/templates/buttons/buttons/cross.png +0 -0
  174. data/frameworks/blueprint/templates/buttons/buttons/key.png +0 -0
  175. data/frameworks/blueprint/templates/buttons/buttons/tick.png +0 -0
  176. data/frameworks/blueprint/templates/buttons/buttons.sass +0 -49
  177. data/frameworks/blueprint/templates/buttons/manifest.rb +0 -17
  178. data/frameworks/blueprint/templates/link_icons/link_icons/doc.png +0 -0
  179. data/frameworks/blueprint/templates/link_icons/link_icons/email.png +0 -0
  180. data/frameworks/blueprint/templates/link_icons/link_icons/external.png +0 -0
  181. data/frameworks/blueprint/templates/link_icons/link_icons/feed.png +0 -0
  182. data/frameworks/blueprint/templates/link_icons/link_icons/im.png +0 -0
  183. data/frameworks/blueprint/templates/link_icons/link_icons/pdf.png +0 -0
  184. data/frameworks/blueprint/templates/link_icons/link_icons/visited.png +0 -0
  185. data/frameworks/blueprint/templates/link_icons/link_icons/xls.png +0 -0
  186. data/frameworks/blueprint/templates/link_icons/link_icons.sass +0 -13
  187. data/frameworks/blueprint/templates/link_icons/manifest.rb +0 -23
  188. data/frameworks/blueprint/templates/project/grid.png +0 -0
  189. data/frameworks/blueprint/templates/project/ie.sass +0 -16
  190. data/frameworks/blueprint/templates/project/manifest.rb +0 -30
  191. data/frameworks/blueprint/templates/project/partials/_base.sass +0 -11
  192. data/frameworks/blueprint/templates/project/print.sass +0 -8
  193. data/frameworks/blueprint/templates/project/screen.sass +0 -46
  194. data/frameworks/blueprint/templates/semantic/grid.png +0 -0
  195. data/frameworks/blueprint/templates/semantic/ie.sass +0 -16
  196. data/frameworks/blueprint/templates/semantic/manifest.rb +0 -33
  197. data/frameworks/blueprint/templates/semantic/partials/_base.sass +0 -10
  198. data/frameworks/blueprint/templates/semantic/partials/_form.sass +0 -6
  199. data/frameworks/blueprint/templates/semantic/partials/_page.sass +0 -17
  200. data/frameworks/blueprint/templates/semantic/partials/_two_col.sass +0 -38
  201. data/frameworks/blueprint/templates/semantic/print.sass +0 -5
  202. data/frameworks/blueprint/templates/semantic/screen.sass +0 -14
  203. data/lib/compass/commands/generate_grid_background.rb +0 -96
  204. data/lib/compass/grid_builder.rb +0 -102
  205. data/test/fixtures/stylesheets/blueprint/config.rb +0 -14
  206. data/test/fixtures/stylesheets/blueprint/css/ie.css +0 -76
  207. data/test/fixtures/stylesheets/blueprint/css/print.css +0 -56
  208. data/test/fixtures/stylesheets/blueprint/css/screen.css +0 -815
  209. data/test/fixtures/stylesheets/blueprint/css/single-imports/buttons.css +0 -56
  210. data/test/fixtures/stylesheets/blueprint/css/single-imports/colors.css +0 -80
  211. data/test/fixtures/stylesheets/blueprint/css/single-imports/debug.css +0 -11
  212. data/test/fixtures/stylesheets/blueprint/css/single-imports/fancy-type.css +0 -30
  213. data/test/fixtures/stylesheets/blueprint/css/single-imports/form.css +0 -42
  214. data/test/fixtures/stylesheets/blueprint/css/single-imports/grid.css +0 -435
  215. data/test/fixtures/stylesheets/blueprint/css/single-imports/ie.css +0 -76
  216. data/test/fixtures/stylesheets/blueprint/css/single-imports/interaction.css +0 -46
  217. data/test/fixtures/stylesheets/blueprint/css/single-imports/link-icons.css +0 -40
  218. data/test/fixtures/stylesheets/blueprint/css/single-imports/liquid.css +0 -651
  219. data/test/fixtures/stylesheets/blueprint/css/single-imports/print.css +0 -60
  220. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset-utilities.css +0 -69
  221. data/test/fixtures/stylesheets/blueprint/css/single-imports/reset.css +0 -42
  222. data/test/fixtures/stylesheets/blueprint/css/single-imports/rtl.css +0 -437
  223. data/test/fixtures/stylesheets/blueprint/css/single-imports/scaffolding.css +0 -45
  224. data/test/fixtures/stylesheets/blueprint/css/single-imports/typography.css +0 -146
  225. data/test/fixtures/stylesheets/blueprint/css/single-imports/utilities.css +0 -35
  226. data/test/fixtures/stylesheets/blueprint/images/grid.png +0 -0
  227. data/test/fixtures/stylesheets/blueprint/images/link_icons/doc.png +0 -0
  228. data/test/fixtures/stylesheets/blueprint/images/link_icons/email.png +0 -0
  229. data/test/fixtures/stylesheets/blueprint/images/link_icons/external.png +0 -0
  230. data/test/fixtures/stylesheets/blueprint/images/link_icons/feed.png +0 -0
  231. data/test/fixtures/stylesheets/blueprint/images/link_icons/im.png +0 -0
  232. data/test/fixtures/stylesheets/blueprint/images/link_icons/pdf.png +0 -0
  233. data/test/fixtures/stylesheets/blueprint/images/link_icons/visited.png +0 -0
  234. data/test/fixtures/stylesheets/blueprint/images/link_icons/xls.png +0 -0
  235. data/test/fixtures/stylesheets/blueprint/sass/ie.sass +0 -3
  236. data/test/fixtures/stylesheets/blueprint/sass/print.sass +0 -3
  237. data/test/fixtures/stylesheets/blueprint/sass/screen.sass +0 -18
  238. data/test/fixtures/stylesheets/blueprint/sass/single-imports/buttons.scss +0 -4
  239. data/test/fixtures/stylesheets/blueprint/sass/single-imports/colors.scss +0 -34
  240. data/test/fixtures/stylesheets/blueprint/sass/single-imports/debug.scss +0 -3
  241. data/test/fixtures/stylesheets/blueprint/sass/single-imports/fancy-type.scss +0 -3
  242. data/test/fixtures/stylesheets/blueprint/sass/single-imports/form.scss +0 -5
  243. data/test/fixtures/stylesheets/blueprint/sass/single-imports/grid.scss +0 -3
  244. data/test/fixtures/stylesheets/blueprint/sass/single-imports/ie.scss +0 -3
  245. data/test/fixtures/stylesheets/blueprint/sass/single-imports/interaction.scss +0 -3
  246. data/test/fixtures/stylesheets/blueprint/sass/single-imports/link-icons.scss +0 -13
  247. data/test/fixtures/stylesheets/blueprint/sass/single-imports/liquid.scss +0 -3
  248. data/test/fixtures/stylesheets/blueprint/sass/single-imports/print.scss +0 -5
  249. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset-utilities.scss +0 -5
  250. data/test/fixtures/stylesheets/blueprint/sass/single-imports/reset.scss +0 -1
  251. data/test/fixtures/stylesheets/blueprint/sass/single-imports/rtl.scss +0 -3
  252. data/test/fixtures/stylesheets/blueprint/sass/single-imports/scaffolding.scss +0 -5
  253. data/test/fixtures/stylesheets/blueprint/sass/single-imports/typography.scss +0 -3
  254. data/test/fixtures/stylesheets/blueprint/sass/single-imports/utilities.scss +0 -3
  255. data/test/fixtures/stylesheets/compass/images/flag-s4798b5a210.png +0 -0
  256. data/test/units/compass_png_test.rb +0 -46
  257. /data/{examples/css3/extensions/fancy-fonts/templates/project/bgrove.ttf → test/fixtures/stylesheets/busted_font_urls/fonts/feed.ttf} +0 -0
data/README.markdown CHANGED
@@ -1,8 +1,8 @@
1
1
  # Compass Stylesheet Authoring Framework
2
2
 
3
- Build Status: ![Build Status](https://secure.travis-ci.org/chriseppstein/compass.png)
3
+ Build Status: [![Build Status](https://travis-ci.org/chriseppstein/compass.png)](https://travis-ci.org/chriseppstein/compass)
4
4
 
5
- Code Quality: [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/chriseppstein/compass)
5
+ Code Quality: [![Code Climate](https://codeclimate.com/github/chriseppstein/compass.png)](https://codeclimate.com/github/chriseppstein/compass)
6
6
 
7
7
  ## Resources
8
8
 
@@ -11,8 +11,8 @@ Code Quality: [![Code Climate](https://codeclimate.com/badge.png)](https://codec
11
11
  * [Compass Reference](http://compass-style.org/install/reference/)
12
12
 
13
13
  ## Author
14
- Compass is written by [Chris Eppstein][chris_eppstein].<br>
15
- Chris is the Software Architect of [Caring.com][caring.com] and a member of the [Sass][sass] core team.
14
+ Compass is written by [Chris Eppstein](http://chriseppstein.github.com/).<br>
15
+ Chris is the Software Architect of [Caring.com](http://caring.com) and a member of the [Sass](https://github.com/nex3/sass) core team.
16
16
 
17
17
  ## Core Team Members
18
18
 
@@ -28,4 +28,4 @@ Chris is the Software Architect of [Caring.com][caring.com] and a member of the
28
28
  ## License
29
29
  Copyright (c) 2008-2009 Christopher M. Eppstein<br>
30
30
  All Rights Reserved.<br>
31
- Released under a [slightly modified MIT License][license].
31
+ Released under a [slightly modified MIT License](compass/blob/stable/LICENSE.markdown).
data/Rakefile CHANGED
@@ -21,12 +21,12 @@ require 'rake/testtask'
21
21
  require 'fileutils'
22
22
 
23
23
  begin
24
- require 'cucumber'
25
- require 'cucumber/rake/task'
24
+ require 'cucumber'
25
+ require 'cucumber/rake/task'
26
26
 
27
- Cucumber::Rake::Task.new(:features) do |t|
28
- t.cucumber_opts = "features --format progress"
29
- end
27
+ Cucumber::Rake::Task.new(:features) do |t|
28
+ #t.cucumber_opts = %w{--format progress}
29
+ end
30
30
  rescue LoadError
31
31
  $stderr.puts "cannot load cucumber"
32
32
  end
@@ -39,10 +39,6 @@ Rake::TestTask.new :test do |t|
39
39
  t.test_files = test_files
40
40
  t.verbose = true
41
41
  end
42
- Rake::Task[:test].send(:add_comment, <<END)
43
- To run with an alternate version of Rails, make test/rails a symlink to that version.
44
- To run with an alternate version of Haml & Sass, make test/haml a symlink to that version.
45
- END
46
42
 
47
43
  Rake::TestTask.new :units do |t|
48
44
  t.libs << 'lib'
@@ -53,6 +49,15 @@ Rake::TestTask.new :units do |t|
53
49
  t.verbose = true
54
50
  end
55
51
 
52
+ Rake::TestTask.new :integrations do |t|
53
+ t.libs << 'lib'
54
+ t.libs << 'test'
55
+ test_files = FileList['test/integrations/**/*_test.rb']
56
+ test_files.exclude('test/rails/*', 'test/haml/*')
57
+ t.test_files = test_files
58
+ t.verbose = true
59
+ end
60
+
56
61
 
57
62
  desc "Compile Examples into HTML and CSS"
58
63
  task :examples do
data/VERSION.yml CHANGED
@@ -1,5 +1,6 @@
1
- ---
1
+ ---
2
2
  :major: 0
3
- :minor: 12
4
- :build: 2
5
- :name: Alnilam
3
+ :minor: 13
4
+ :state: alpha
5
+ :iteration: 4
6
+ :name: Markab
@@ -17,30 +17,13 @@ Feature: Command Line
17
17
  And I am told how to link to /stylesheets/print.css for media "print"
18
18
  And I am told how to conditionally link "IE" to /stylesheets/ie.css for media "screen, projection"
19
19
 
20
- Scenario: Install a project with blueprint
21
- When I create a project using: compass create bp_project --using blueprint
22
- Then a directory bp_project/ is created
23
- And a configuration file bp_project/config.rb is created
24
- And a sass file bp_project/sass/screen.scss is created
25
- And a sass file bp_project/sass/print.scss is created
26
- And a sass file bp_project/sass/ie.scss is created
27
- And a css file bp_project/stylesheets/screen.css is created
28
- And a css file bp_project/stylesheets/print.css is created
29
- And a css file bp_project/stylesheets/ie.css is created
30
- And an image file bp_project/images/grid.png is created
31
- And I am told how to link to /stylesheets/screen.css for media "screen, projection"
32
- And I am told how to link to /stylesheets/print.css for media "print"
33
- And I am told how to conditionally link "lt IE 8" to /stylesheets/ie.css for media "screen, projection"
34
-
35
20
  Scenario: Install a project with specific directories
36
- When I create a project using: compass create custom_project --using blueprint --sass-dir sass --css-dir css --images-dir assets/imgs
21
+ When I create a project using: compass create custom_project --using compass --sass-dir sass --css-dir css --images-dir assets/imgs
37
22
  Then a directory custom_project/ is created
38
23
  And a directory custom_project/sass/ is created
39
24
  And a directory custom_project/css/ is created
40
- And a directory custom_project/assets/imgs/ is created
41
25
  And a sass file custom_project/sass/screen.scss is created
42
26
  And a css file custom_project/css/screen.css is created
43
- And an image file custom_project/assets/imgs/grid.png is created
44
27
 
45
28
  Scenario: Perform a dry run of creating a project
46
29
  When I create a project using: compass create my_project --dry-run
@@ -126,7 +109,7 @@ Feature: Command Line
126
109
  Scenario: Re-compiling a specific file in a project with no changes
127
110
  Given I am using the existing project in test/fixtures/stylesheets/compass
128
111
  When I run: compass compile
129
- And I run: compass compile sass/utilities.scss
112
+ And I run: compass compile sass/utilities.scss --force
130
113
  Then a sass file sass/layout.sass is not mentioned
131
114
  And a sass file sass/print.sass is not mentioned
132
115
  And a sass file sass/reset.sass is not mentioned
@@ -134,12 +117,8 @@ Feature: Command Line
134
117
 
135
118
  Scenario: Installing a pattern into a project
136
119
  Given I am using the existing project in test/fixtures/stylesheets/compass
137
- When I run: compass install blueprint/buttons
138
- Then a sass file sass/buttons.scss is created
139
- And an image file images/buttons/cross.png is created
140
- And an image file images/buttons/key.png is created
141
- And an image file images/buttons/tick.png is created
142
- And a css file tmp/buttons.css is created
120
+ When I run: compass install compass/pie
121
+ Then a sass file sass/pie.scss is created
143
122
 
144
123
  Scenario: Basic help
145
124
  When I run: compass help
@@ -153,7 +132,6 @@ Feature: Command Line
153
132
  | config |
154
133
  | extension |
155
134
  | frameworks |
156
- | grid-img |
157
135
  | help |
158
136
  | imports |
159
137
  | install |
@@ -191,7 +169,7 @@ Feature: Command Line
191
169
  | tmp/box_shadow.css |
192
170
  | tmp/columns.css |
193
171
  | tmp/fonts.css |
194
- | images/flag-s4798b5a210.png |
172
+ | images/flag-s5b4f509715.png |
195
173
  And the following files are removed:
196
174
  | .sass-cache/ |
197
175
  | tmp/border_radius.css |
@@ -199,7 +177,7 @@ Feature: Command Line
199
177
  | tmp/box_shadow.css |
200
178
  | tmp/columns.css |
201
179
  | tmp/fonts.css |
202
- | images/flag-s4798b5a210.png |
180
+ | images/flag-s5b4f509715.png |
203
181
 
204
182
  Scenario: Watching a project for changes
205
183
  Given ruby supports fork
@@ -210,26 +188,7 @@ Feature: Command Line
210
188
  And I touch sass/layout.sass
211
189
  And I wait 2 seconds
212
190
  And I shutdown the other process
213
- Then a css file tmp/layout.css is reported identical
214
-
215
- Scenario: Generating a grid image so that I can debug my grid alignments
216
- Given I am using the existing project in test/fixtures/stylesheets/compass
217
- When I run: compass grid-img 30+10x24
218
- Then a png file images/grid.png is created
219
- And the image images/grid.png has a size of 40x24
220
-
221
- Scenario: Generating a grid image to a specified path with custom dimensions
222
- Given I am using the existing project in test/fixtures/stylesheets/compass
223
- When I run: compass grid-img 50+10x24 assets/wide_grid.png
224
- Then a directory assets is created
225
- Then a png file assets/wide_grid.png is created
226
- And the image assets/wide_grid.png has a size of 60x24
227
-
228
- Scenario: Generating a grid image with invalid dimensions
229
- Given I am using the existing project in test/fixtures/stylesheets/compass
230
- When I run: compass grid-img 50x24 assets/wide_grid.png
231
- Then a directory assets is not created
232
- And a png file assets/wide_grid.png is not created
191
+ Then a css file tmp/layout.css is reported identical\
233
192
 
234
193
  Scenario: Generate a compass configuration file
235
194
  Given I should clean up the directory: config
@@ -266,7 +225,7 @@ Feature: Command Line
266
225
  @stats
267
226
  Scenario: Get stats for my project
268
227
  Given I am using the existing project in test/fixtures/stylesheets/compass
269
- When I run: compass stats
228
+ When I run: bundle exec compass stats
270
229
  Then I am told statistics for each file:
271
230
  | Filename | Rules | Properties | Mixins Defs | Mixins Used | Filesize | CSS Selectors | CSS Properties | CSS Filesize |
272
231
  | sass/border_radius.scss | \d+ | \d+ | \d+ | \d+ | \d+ K?B | \d+ | \d+ | \d+ K?B |
@@ -287,6 +246,5 @@ Feature: Command Line
287
246
  Scenario: List frameworks registered with compass
288
247
  When I run: compass frameworks
289
248
  Then I should see the following lines of output:
290
- | blueprint |
291
249
  | compass |
292
250
 
@@ -256,11 +256,12 @@ end
256
256
 
257
257
  Then /^the image ([^ ]+) has a size of (\d+)x(\d+)$/ do |file, width, height|
258
258
  # see http://snippets.dzone.com/posts/show/805
259
- IO.read(file)[0x10..0x18].unpack('NN').should == [width.to_i, height.to_i]
259
+ size = File.open(file, "rb") {|io| io.read}[0x10..0x18].unpack('NN')
260
+ size.should == [width.to_i, height.to_i]
260
261
  end
261
262
 
262
263
  Then /^I should see the following lines of output:$/ do |table|
263
- table.diff!([['blueprint'],['compass']])
264
+ table.diff!([['compass']])
264
265
  end
265
266
 
266
267
  Then /^I should see the following output: (.+)$/ do |expected|
@@ -6,6 +6,7 @@
6
6
  @import "css3/columns";
7
7
  @import "css3/box-sizing";
8
8
  @import "css3/box";
9
+ @import "css3/flexbox";
9
10
  @import "css3/images";
10
11
  @import "css3/background-clip";
11
12
  @import "css3/background-origin";
@@ -14,6 +15,8 @@
14
15
  @import "css3/transform";
15
16
  @import "css3/transition";
16
17
  @import "css3/appearance";
18
+ @import "css3/animation";
17
19
  @import "css3/regions";
18
20
  @import "css3/hyphenation";
19
21
  @import "css3/filter";
22
+ @import "css3/user-interface";
@@ -17,15 +17,15 @@ $legacy-support-for-ie8: $legacy-support-for-ie !default;
17
17
  $legacy-support-for-ie: $legacy-support-for-ie6 or $legacy-support-for-ie7 or $legacy-support-for-ie8;
18
18
 
19
19
  // Whether to output legacy support for mozilla.
20
- // Usually this means hacks to support Firefox 3.6 or earlier.
21
- $legacy-support-for-mozilla: true;
20
+ $legacy-support-for-mozilla: true !default;
21
+
22
+ // Whether to output legacy support for webkit.
23
+ $legacy-support-for-webkit: true !default;
22
24
 
23
25
  // Support for mozilla in experimental css3 properties (-moz).
24
26
  $experimental-support-for-mozilla : true !default;
25
27
  // Support for webkit in experimental css3 properties (-webkit).
26
28
  $experimental-support-for-webkit : true !default;
27
- // Support for webkit's original (non-standard) gradient syntax.
28
- $support-for-original-webkit-gradients : true !default;
29
29
  // Support for opera in experimental css3 properties (-o).
30
30
  $experimental-support-for-opera : true !default;
31
31
  // Support for microsoft in experimental css3 properties (-ms).
@@ -0,0 +1,121 @@
1
+ @import "shared";
2
+
3
+ // @private css3-feature-support variables must always include a list of five boolean values
4
+ // representing in order: -moz, -webkit, -ms, -o, -khtml.
5
+ $animation-support: -moz, -webkit, not -ms, -o, -khtml;
6
+
7
+
8
+ // Name of any animation as a string.
9
+ $default-animation-name : null !default;
10
+
11
+ // Duration of the entire animation in seconds.
12
+ $default-animation-duration : null !default;
13
+
14
+ // Delay for start of animation in seconds.
15
+ $default-animation-delay : null !default;
16
+
17
+ // The timing function(s) to be used between keyframes. [ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier($number, $number, $number, $number)]
18
+ $default-animation-timing-function : null !default;
19
+
20
+ // The number of times an animation cycle is played. [infinite | $number]
21
+ $default-animation-iteration-count : null !default;
22
+
23
+ // Whether or not the animation should play in reverse on alternate cycles. [normal | alternate]
24
+ $default-animation-direction : null !default;
25
+
26
+ // What values are applied by the animation outside the time it is executing. [none | forwards | backwards | both]
27
+ $default-animation-fill-mode : null !default;
28
+
29
+ // Whether the animation is running or paused. [running | paused]
30
+ $default-animation-play-state : null !default;
31
+
32
+
33
+ // Create a named animation sequence that can be applied to elements later.
34
+ //
35
+ // $name - The name of your animation.
36
+ // @content - The keyframes of the animation.
37
+ @mixin keyframes(
38
+ $name,
39
+ $moz : $experimental-support-for-mozilla,
40
+ $webkit : $experimental-support-for-webkit,
41
+ $o : $experimental-support-for-opera,
42
+ $khtml : $experimental-support-for-khtml,
43
+ $official : true
44
+ ) {
45
+ @if $moz and nth($animation-support,1) {
46
+ @include with-only-support-for($moz: true) {
47
+ @-moz-keyframes #{$name} { @content; }
48
+ }
49
+ }
50
+ @if $webkit and nth($animation-support,2) {
51
+ @include with-only-support-for($webkit: true) {
52
+ @-webkit-keyframes #{$name} { @content; }
53
+ }
54
+ }
55
+ @if $o and nth($animation-support,4) {
56
+ @include with-only-support-for($o: true) {
57
+ @-o-keyframes #{$name} { @content; }
58
+ }
59
+ }
60
+ @if $khtml and nth($animation-support,5) {
61
+ @include with-only-support-for($khtml: true) {
62
+ @-khtml-keyframes #{$name} { @content; }
63
+ }
64
+ }
65
+ @if $official {
66
+ @include with-only-support-for {
67
+ @keyframes #{$name} { @content; }
68
+ }
69
+ }
70
+ }
71
+
72
+
73
+ // Apply any number of animation names.
74
+ @mixin animation-name($name...) {
75
+ $name: set-arglist-default($name, $default-animation-name);
76
+ @include experimental(animation-name, $name, $animation-support...); }
77
+
78
+ // Apply any number of animation durations.
79
+ @mixin animation-duration($duration...) {
80
+ $duration: set-arglist-default($duration, $default-animation-duration);
81
+ @include experimental(animation-duration, $duration, $animation-support...); }
82
+
83
+ // Apply any number of animation delays.
84
+ @mixin animation-delay($delay...) {
85
+ $delay: set-arglist-default($delay, $default-animation-delay);
86
+ @include experimental(animation-delay, $delay, $animation-support...); }
87
+
88
+ // Apply any number of animation timing functions.
89
+ @mixin animation-timing-function($function...) {
90
+ $function: set-arglist-default($function, $default-animation-timing-function);
91
+ @include experimental(animation-timing-function, $function, $animation-support...); }
92
+
93
+ // Apply any number of animation iteration counts.
94
+ @mixin animation-iteration-count($count...) {
95
+ $count: set-arglist-default($count, $default-animation-iteration-count);
96
+ @include experimental(animation-iteration-count, $count, $animation-support...); }
97
+
98
+ // Apply any number of animation directions.
99
+ @mixin animation-direction($direction...) {
100
+ $direction: set-arglist-default($direction, $default-animation-direction);
101
+ @include experimental(animation-direction, $direction, $animation-support...); }
102
+
103
+ // Apply any number of animation fill modes.
104
+ @mixin animation-fill-mode($mode...) {
105
+ $mode: set-arglist-default($mode, $default-animation-fill-mode);
106
+ @include experimental(animation-fill-mode, $mode, $animation-support...); }
107
+
108
+ // Apply any number of animation play states.
109
+ @mixin animation-play-state($state...) {
110
+ $state: set-arglist-default($state, $default-animation-play-state);
111
+ @include experimental(animation-play-state, $state, $animation-support...); }
112
+
113
+ // Shortcut to apply any number of animations to an element, with all the settings.
114
+ //
115
+ // $animation... : Name and settings. [<values> | default]
116
+ @mixin animation($animation...) {
117
+ $default: -compass-space-list(compact($default-animation-name $default-animation-duration $default-animation-timing-function $default-animation-delay $default-animation-iteration-count $default-animation-direction $default-animation-fill-mode $default-animation-play-state));
118
+ $animation: set-arglist-default($animation, $default);
119
+ @include experimental(animation, $animation, $animation-support...);
120
+ }
121
+
@@ -1,16 +1,21 @@
1
+ // Appearance
2
+
1
3
  @import "shared";
2
4
 
5
+ // @private css3-feature-support variables must always include a list of five boolean values
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml.
7
+ $appearance-support: -moz, -webkit, not -ms, not -o, not -khtml;
8
+
9
+
3
10
  // Change the appearance for Mozilla, Webkit and possibly the future.
4
11
  // The appearance property is currently not present in any newer CSS specification.
5
12
  //
6
13
  // There is no official list of accepted values, but you might check these source:
7
- // Mozilla : https://developer.mozilla.org/en/CSS/-moz-appearance
8
- // Webkit : http://code.google.com/p/webkit-mirror/source/browse/Source/WebCore/css/CSSValueKeywords.in?spec=svnf1aea559dcd025a8946aa7da6e4e8306f5c1b604&r=63c7d1af44430b314233fea342c3ddb2a052e365
9
- // (search for 'appearance' within the page)
10
-
11
- @mixin appearance($ap) {
12
- $ap: unquote($ap);
13
- @include experimental(appearance, $ap,
14
- -moz, -webkit, not -o, not -ms, not -khtml, official
15
- );
14
+ //
15
+ // * [Mozilla](https://developer.mozilla.org/en/CSS/-moz-appearance)
16
+ // * [Webkit](http://code.google.com/p/webkit-mirror/source/browse/Source/WebCore/css/CSSValueKeywords.in?spec=svnf1aea559dcd025a8946aa7da6e4e8306f5c1b604&r=63c7d1af44430b314233fea342c3ddb2a052e365)
17
+ // (search for 'appearance' within the page)
18
+ @mixin appearance($appearance) {
19
+ $appearance: unquote($appearance);
20
+ @include experimental(appearance, $appearance, $appearance-support...);
16
21
  }
@@ -1,43 +1,39 @@
1
+ // Background Clip
2
+
1
3
  @import "shared";
2
4
 
3
- // The default value is `padding-box` -- the box model used by modern browsers.
4
- //
5
- // If you wish to do so, you can override the default constant with `border-box`
6
- //
7
- // To override to the default border-box model, use this code:
8
- // $default-background-clip: border-box
5
+ // @private css3-feature-support variables must always include a list of five boolean values
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
7
+ // - mozilla/webkit legacy support handled seperately below
8
+ $background-clip-support: not -moz, not -webkit, not -ms, not -o, -khtml;
9
+
9
10
 
11
+ // The default border-box model: [border-box | padding-box | content-box]
10
12
  $default-background-clip: padding-box !default;
11
13
 
12
- // Clip the background (image and color) at the edge of the padding or border.
13
- //
14
- // Legal Values:
15
- //
16
- // * padding-box
17
- // * border-box
18
- // * text
19
-
20
- @mixin background-clip($clip: $default-background-clip) {
21
- // webkit and mozilla use the deprecated short [border | padding]
22
- $clip: unquote($clip);
23
- $deprecated: $clip;
24
- @if $clip == padding-box { $deprecated: padding; }
25
- @if $clip == border-box { $deprecated: border; }
26
- // Support for webkit and mozilla's use of the deprecated short form
27
- @include experimental(background-clip, $deprecated,
28
- -moz,
29
- -webkit,
30
- not -o,
31
- not -ms,
32
- not -khtml,
33
- not official
34
- );
35
- @include experimental(background-clip, $clip,
36
- not -moz,
37
- not -webkit,
38
- not -o,
39
- not -ms,
40
- -khtml,
41
- official
14
+
15
+ // Clip the background (image and color) at the edge of the padding, border, or content.
16
+ // $clip... : [padding-box | border-box | content-box]
17
+ @mixin background-clip($clip...) {
18
+ $output: compact();
19
+ $deprecated: compact();
20
+
21
+ @if (length($clip) > 0) {
22
+ @each $layer in $clip {
23
+ $output: append($output, unquote($layer));
24
+ $deprecated: append($deprecated, legacy-box($layer));
25
+ }
26
+ } @else {
27
+ $output: $default-background-clip;
28
+ $deprecated: legacy-box($default-background-clip);
29
+ }
30
+
31
+ // Legacy versions of Mozilla support a different syntax, prefixed.
32
+ @include experimental-only-for(background-clip, $deprecated,
33
+ $moz: $legacy-support-for-mozilla,
34
+ $webkit: $legacy-support-for-webkit
42
35
  );
36
+
37
+ // Official syntax for the rest
38
+ @include experimental(background-clip, $output, $background-clip-support...);
43
39
  }
@@ -1,42 +1,39 @@
1
- // Override `$default-background-origin` to change the default.
1
+ // Background Origin
2
2
 
3
3
  @import "shared";
4
4
 
5
+ // @private css3-feature-support variables must always include a list of five boolean values
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
7
+ // - mozilla/webkit legacy support handled seperately below
8
+ $background-origin-support: not -moz, not -webkit, not -ms, not -o, -khtml;
9
+
10
+
11
+ // The default background-origin: [border-box | padding-box | content-box]
5
12
  $default-background-origin: content-box !default;
6
13
 
7
- // Position the background off the edge of the padding, border or content
8
- //
9
- // * Possible values:
10
- // * `padding-box`
11
- // * `border-box`
12
- // * `content-box`
13
- // * browser defaults to `padding-box`
14
- // * mixin defaults to `content-box`
15
-
16
-
17
- @mixin background-origin($origin: $default-background-origin) {
18
- $origin: unquote($origin);
19
- // webkit and mozilla use the deprecated short [border | padding | content]
20
- $deprecated: $origin;
21
- @if $origin == padding-box { $deprecated: padding; }
22
- @if $origin == border-box { $deprecated: border; }
23
- @if $origin == content-box { $deprecated: content; }
24
-
25
- // Support for webkit and mozilla's use of the deprecated short form
26
- @include experimental(background-origin, $deprecated,
27
- -moz,
28
- -webkit,
29
- not -o,
30
- not -ms,
31
- not -khtml,
32
- not official
33
- );
34
- @include experimental(background-origin, $origin,
35
- not -moz,
36
- not -webkit,
37
- -o,
38
- -ms,
39
- -khtml,
40
- official
14
+
15
+ // Set the origin of the background (image and color) at the edge of the padding, border, or content.
16
+ // $origin... : [padding-box | border-box | content-box]
17
+ @mixin background-origin($origin...) {
18
+ $output: compact();
19
+ $deprecated: compact();
20
+
21
+ @if (length($origin) > 0) {
22
+ @each $layer in $origin {
23
+ $output: append($output, unquote($layer));
24
+ $deprecated: append($deprecated, legacy-box($layer));
25
+ }
26
+ } @else {
27
+ $output: $default-background-origin;
28
+ $deprecated: legacy-box($default-background-origin);
29
+ }
30
+
31
+ // Legacy versions of Mozilla support a different syntax, prefixed.
32
+ @include experimental-only-for(background-origin, $deprecated,
33
+ $moz: $legacy-support-for-mozilla,
34
+ $webkit: $legacy-support-for-webkit
41
35
  );
36
+
37
+ // Official syntax for the rest
38
+ @include experimental(background-origin, $output, $background-origin-support...);
42
39
  }
@@ -1,26 +1,23 @@
1
+ // Background Size
2
+
1
3
  @import "shared";
2
4
 
5
+ // @private css3-feature-support variables must always include a list of five boolean values
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
7
+ // - mozilla/webkit legacy support handled seperately below
8
+ $background-size-support: -moz, -webkit, not -ms, -o, -khtml;
9
+
10
+
3
11
  // override to change the default
4
12
  $default-background-size: 100% auto !default;
5
13
 
14
+
6
15
  // Set the size of background images using px, width and height, or percentages.
7
16
  // Currently supported in: Opera, Gecko, Webkit.
8
17
  //
9
18
  // * percentages are relative to the background-origin (default = padding-box)
10
19
  // * mixin defaults to: `$default-background-size`
11
- @mixin background-size(
12
- $size-1: $default-background-size,
13
- $size-2: false,
14
- $size-3: false,
15
- $size-4: false,
16
- $size-5: false,
17
- $size-6: false,
18
- $size-7: false,
19
- $size-8: false,
20
- $size-9: false,
21
- $size-10: false
22
- ) {
23
- $size-1: if(type-of($size-1) == string, unquote($size-1), $size-1);
24
- $sizes: compact($size-1, $size-2, $size-3, $size-4, $size-5, $size-6, $size-7, $size-8, $size-9, $size-10);
25
- @include experimental(background-size, $sizes, -moz, -webkit, -o, not -ms, not -khtml);
20
+ @mixin background-size($size...) {
21
+ $size: set-arglist-default($size, $default-background-size);
22
+ @include experimental(background-size, $size, $background-size-support...);
26
23
  }