compass 0.13.alpha.2 → 0.13.alpha.3

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 (59) hide show
  1. data/README.markdown +1 -1
  2. data/Rakefile +5 -9
  3. data/VERSION.yml +1 -1
  4. data/features/command_line.feature +3 -23
  5. data/frameworks/compass/stylesheets/compass/_support.scss +2 -4
  6. data/frameworks/compass/stylesheets/compass/css3/_animation.scss +3 -10
  7. data/frameworks/compass/stylesheets/compass/css3/_appearance.scss +4 -5
  8. data/frameworks/compass/stylesheets/compass/css3/_background-clip.scss +4 -7
  9. data/frameworks/compass/stylesheets/compass/css3/_background-origin.scss +3 -8
  10. data/frameworks/compass/stylesheets/compass/css3/_background-size.scss +4 -7
  11. data/frameworks/compass/stylesheets/compass/css3/_border-radius.scss +4 -7
  12. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +10 -18
  13. data/frameworks/compass/stylesheets/compass/css3/_box-sizing.scss +4 -5
  14. data/frameworks/compass/stylesheets/compass/css3/_box.scss +13 -16
  15. data/frameworks/compass/stylesheets/compass/css3/_columns.scss +7 -8
  16. data/frameworks/compass/stylesheets/compass/css3/_filter.scss +4 -5
  17. data/frameworks/compass/stylesheets/compass/css3/_hyphenation.scss +13 -22
  18. data/frameworks/compass/stylesheets/compass/css3/_images.scss +39 -48
  19. data/frameworks/compass/stylesheets/compass/css3/_regions.scss +12 -8
  20. data/frameworks/compass/stylesheets/compass/css3/_shared.scss +3 -3
  21. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +21 -26
  22. data/frameworks/compass/stylesheets/compass/css3/_transform-legacy.scss +3 -3
  23. data/frameworks/compass/stylesheets/compass/css3/_transform.scss +8 -8
  24. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +3 -3
  25. data/frameworks/compass/stylesheets/compass/css3/_user-interface.scss +4 -6
  26. data/lib/compass/commands.rb +1 -1
  27. data/lib/compass/commands/update_project.rb +0 -1
  28. data/lib/compass/configuration/data.rb +1 -1
  29. data/lib/compass/exec/project_options_parser.rb +13 -1
  30. data/lib/compass/sass_extensions/functions/cross_browser_support.rb +1 -1
  31. data/lib/compass/sass_extensions/functions/gradient_support.rb +68 -28
  32. data/lib/compass/sass_extensions/functions/sprites.rb +10 -14
  33. data/lib/compass/sass_extensions/functions/urls.rb +8 -4
  34. data/lib/compass/sass_extensions/functions/utility.rb +10 -0
  35. data/lib/compass/sass_extensions/sprites/engines.rb +3 -3
  36. data/lib/compass/sprite_importer/content.erb +2 -1
  37. data/lib/compass/watcher/project_watcher.rb +5 -2
  38. data/test/fixtures/stylesheets/compass/css/gradients.css +40 -39
  39. data/test/fixtures/stylesheets/compass/css/grid_background.css +7 -14
  40. data/test/fixtures/stylesheets/compass/css/hyphenation.css +4 -2
  41. data/test/fixtures/stylesheets/compass/css/pie.css +0 -1
  42. data/test/fixtures/stylesheets/compass/css/regions.css +4 -2
  43. data/test/fixtures/stylesheets/compass/css/sprites.css +2 -1
  44. data/test/fixtures/stylesheets/compass/css/text_shadow.css +6 -6
  45. data/test/fixtures/stylesheets/compass/css/vertical_rhythm.css +3 -6
  46. data/test/fixtures/stylesheets/compass/sass/gradients.sass +22 -0
  47. data/test/fixtures/stylesheets/envtest/tmp/env.css +4 -4
  48. data/test/helpers/diff.rb +1 -1
  49. data/test/integrations/sprites_test.rb +82 -48
  50. data/test/test_helper.rb +0 -13
  51. data/test/units/configuration_test.rb +12 -0
  52. data/test/units/regressions_test.rb +8 -8
  53. data/test/units/sass_extenstions/gradients_test.rb +33 -0
  54. data/test/units/sprites/layout_test.rb +11 -2
  55. data/test/units/watcher/project_watcher_test.rb +8 -0
  56. metadata +30 -16
  57. data/lib/compass/commands/generate_grid_background.rb +0 -96
  58. data/lib/compass/grid_builder.rb +0 -102
  59. data/test/units/compass_png_test.rb +0 -46
@@ -2,7 +2,7 @@
2
2
 
3
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
 
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'
@@ -2,5 +2,5 @@
2
2
  :major: 0
3
3
  :minor: 13
4
4
  :state: alpha
5
- :iteration: 2
5
+ :iteration: 3
6
6
  :name: Markab
@@ -109,7 +109,7 @@ Feature: Command Line
109
109
  Scenario: Re-compiling a specific file in a project with no changes
110
110
  Given I am using the existing project in test/fixtures/stylesheets/compass
111
111
  When I run: compass compile
112
- And I run: compass compile sass/utilities.scss
112
+ And I run: compass compile sass/utilities.scss --force
113
113
  Then a sass file sass/layout.sass is not mentioned
114
114
  And a sass file sass/print.sass is not mentioned
115
115
  And a sass file sass/reset.sass is not mentioned
@@ -132,7 +132,6 @@ Feature: Command Line
132
132
  | config |
133
133
  | extension |
134
134
  | frameworks |
135
- | grid-img |
136
135
  | help |
137
136
  | imports |
138
137
  | install |
@@ -189,26 +188,7 @@ Feature: Command Line
189
188
  And I touch sass/layout.sass
190
189
  And I wait 2 seconds
191
190
  And I shutdown the other process
192
- Then a css file tmp/layout.css is reported identical
193
-
194
- Scenario: Generating a grid image so that I can debug my grid alignments
195
- Given I am using the existing project in test/fixtures/stylesheets/compass
196
- When I run: compass grid-img 30+10x24
197
- Then a png file images/grid.png is created
198
- And the image images/grid.png has a size of 40x24
199
-
200
- Scenario: Generating a grid image to a specified path with custom dimensions
201
- Given I am using the existing project in test/fixtures/stylesheets/compass
202
- When I run: compass grid-img 50+10x24 assets/wide_grid.png
203
- Then a directory assets is created
204
- Then a png file assets/wide_grid.png is created
205
- And the image assets/wide_grid.png has a size of 60x24
206
-
207
- Scenario: Generating a grid image with invalid dimensions
208
- Given I am using the existing project in test/fixtures/stylesheets/compass
209
- When I run: compass grid-img 50x24 assets/wide_grid.png
210
- Then a directory assets is not created
211
- And a png file assets/wide_grid.png is not created
191
+ Then a css file tmp/layout.css is reported identical\
212
192
 
213
193
  Scenario: Generate a compass configuration file
214
194
  Given I should clean up the directory: config
@@ -245,7 +225,7 @@ Feature: Command Line
245
225
  @stats
246
226
  Scenario: Get stats for my project
247
227
  Given I am using the existing project in test/fixtures/stylesheets/compass
248
- When I run: compass stats
228
+ When I run: bundle exec compass stats
249
229
  Then I am told statistics for each file:
250
230
  | Filename | Rules | Properties | Mixins Defs | Mixins Used | Filesize | CSS Selectors | CSS Properties | CSS Filesize |
251
231
  | sass/border_radius.scss | \d+ | \d+ | \d+ | \d+ | \d+ K?B | \d+ | \d+ | \d+ K?B |
@@ -17,17 +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
- $legacy-support-for-mozilla: true;
20
+ $legacy-support-for-mozilla: true !default;
21
21
 
22
22
  // Whether to output legacy support for webkit.
23
- $legacy-support-for-webkit: true;
23
+ $legacy-support-for-webkit: true !default;
24
24
 
25
25
  // Support for mozilla in experimental css3 properties (-moz).
26
26
  $experimental-support-for-mozilla : true !default;
27
27
  // Support for webkit in experimental css3 properties (-webkit).
28
28
  $experimental-support-for-webkit : true !default;
29
- // Support for webkit's original (non-standard) gradient syntax.
30
- $support-for-original-webkit-gradients : true !default;
31
29
  // Support for opera in experimental css3 properties (-o).
32
30
  $experimental-support-for-opera : true !default;
33
31
  // Support for microsoft in experimental css3 properties (-ms).
@@ -1,12 +1,9 @@
1
1
  @import "shared";
2
2
 
3
- // ----------------------------------------------------------------------------
4
3
  // @private css3-feature-support variables must always include a list of five boolean values
5
- // representing in order: -moz, -webkit, -o, -ms, -khtml.
6
- $animation-support: -moz, -webkit, -o, not -ms, -khtml;
4
+ // representing in order: -moz, -webkit, -ms, -o, -khtml.
5
+ $animation-support: -moz, -webkit, not -ms, -o, -khtml;
7
6
 
8
- // ----------------------------------------------------------------------------
9
- // Defaults
10
7
 
11
8
  // Name of any animation as a string.
12
9
  $default-animation-name : null !default;
@@ -32,8 +29,6 @@ $default-animation-fill-mode : null !default;
32
29
  // Whether the animation is running or paused. [running | paused]
33
30
  $default-animation-play-state : null !default;
34
31
 
35
- // ----------------------------------------------------------------------------
36
- // Keyframes
37
32
 
38
33
  // Create a named animation sequence that can be applied to elements later.
39
34
  //
@@ -57,7 +52,7 @@ $default-animation-play-state : null !default;
57
52
  @-webkit-keyframes #{$name} { @content; }
58
53
  }
59
54
  }
60
- @if $o and nth($animation-support,3) {
55
+ @if $o and nth($animation-support,4) {
61
56
  @include with-only-support-for($o: true) {
62
57
  @-o-keyframes #{$name} { @content; }
63
58
  }
@@ -74,8 +69,6 @@ $default-animation-play-state : null !default;
74
69
  }
75
70
  }
76
71
 
77
- // ----------------------------------------------------------------------------
78
- // Animation
79
72
 
80
73
  // Apply any number of animation names.
81
74
  @mixin animation-name($name...) {
@@ -1,12 +1,11 @@
1
+ // Appearance
2
+
1
3
  @import "shared";
2
4
 
3
- // ----------------------------------------------------------------------------
4
5
  // @private css3-feature-support variables must always include a list of five boolean values
5
- // representing in order: -moz, -webkit, -o, -ms, -khtml.
6
- $appearance-support: -moz, -webkit, not -o, not -ms, not -khtml;
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml.
7
+ $appearance-support: -moz, -webkit, not -ms, not -o, not -khtml;
7
8
 
8
- // ----------------------------------------------------------------------------
9
- // Mixin
10
9
 
11
10
  // Change the appearance for Mozilla, Webkit and possibly the future.
12
11
  // The appearance property is currently not present in any newer CSS specification.
@@ -1,19 +1,16 @@
1
+ // Background Clip
2
+
1
3
  @import "shared";
2
4
 
3
- // ----------------------------------------------------------------------------
4
5
  // @private css3-feature-support variables must always include a list of five boolean values
5
- // representing in order: -moz, -webkit, -o, -ms, -khtml
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
6
7
  // - mozilla/webkit legacy support handled seperately below
7
- $background-clip-support: not -moz, not -webkit, not -o, not -ms, -khtml;
8
+ $background-clip-support: not -moz, not -webkit, not -ms, not -o, -khtml;
8
9
 
9
- // ----------------------------------------------------------------------------
10
- // Default
11
10
 
12
11
  // The default border-box model: [border-box | padding-box | content-box]
13
12
  $default-background-clip: padding-box !default;
14
13
 
15
- // ----------------------------------------------------------------------------
16
- // Mixin
17
14
 
18
15
  // Clip the background (image and color) at the edge of the padding, border, or content.
19
16
  // $clip... : [padding-box | border-box | content-box]
@@ -1,21 +1,16 @@
1
- // Override `$default-background-origin` to change the default.
1
+ // Background Origin
2
2
 
3
3
  @import "shared";
4
4
 
5
- // ----------------------------------------------------------------------------
6
5
  // @private css3-feature-support variables must always include a list of five boolean values
7
- // representing in order: -moz, -webkit, -o, -ms, -khtml
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
8
7
  // - mozilla/webkit legacy support handled seperately below
9
- $background-origin-support: not -moz, not -webkit, not -o, not -ms, -khtml;
8
+ $background-origin-support: not -moz, not -webkit, not -ms, not -o, -khtml;
10
9
 
11
- // ----------------------------------------------------------------------------
12
- // Default
13
10
 
14
11
  // The default background-origin: [border-box | padding-box | content-box]
15
12
  $default-background-origin: content-box !default;
16
13
 
17
- // ----------------------------------------------------------------------------
18
- // Mixin
19
14
 
20
15
  // Set the origin of the background (image and color) at the edge of the padding, border, or content.
21
16
  // $origin... : [padding-box | border-box | content-box]
@@ -1,19 +1,16 @@
1
+ // Background Size
2
+
1
3
  @import "shared";
2
4
 
3
- // ----------------------------------------------------------------------------
4
5
  // @private css3-feature-support variables must always include a list of five boolean values
5
- // representing in order: -moz, -webkit, -o, -ms, -khtml
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
6
7
  // - mozilla/webkit legacy support handled seperately below
7
- $background-size-support: moz, -webkit, -o, not -ms, -khtml;
8
+ $background-size-support: -moz, -webkit, not -ms, -o, -khtml;
8
9
 
9
- // ----------------------------------------------------------------------------
10
- // Default
11
10
 
12
11
  // override to change the default
13
12
  $default-background-size: 100% auto !default;
14
13
 
15
- // ----------------------------------------------------------------------------
16
- // Mixin
17
14
 
18
15
  // Set the size of background images using px, width and height, or percentages.
19
16
  // Currently supported in: Opera, Gecko, Webkit.
@@ -1,18 +1,15 @@
1
+ // Border Radius
2
+
1
3
  @import "shared";
2
4
 
3
- // ----------------------------------------------------------------------------
4
5
  // @private css3-feature-support variables must always include a list of five boolean values
5
- // representing in order: -moz, -webkit, -o, -ms, -khtml
6
- $border-radius-support: not -moz, not -webkit, not -o, not -ms, -khtml;
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
7
+ $border-radius-support: not -moz, not -webkit, not -ms, not -o, -khtml;
7
8
 
8
- // ----------------------------------------------------------------------------
9
- // Default
10
9
 
11
10
  // The length of a border-radius to be used by default.
12
11
  $default-border-radius: 5px !default;
13
12
 
14
- // ----------------------------------------------------------------------------
15
- // Mixins
16
13
 
17
14
  // Round all corners by a specific amount, defaults to value of `$default-border-radius`.
18
15
  //
@@ -1,38 +1,30 @@
1
+ // Box Shadow
2
+
1
3
  @import "shared";
2
4
 
3
- // ----------------------------------------------------------------------------
4
5
  // @private css3-feature-support variables must always include a list of five boolean values
5
- // representing in order: -moz, -webkit, -o, -ms, -khtml
6
- $box-shadow-support: -moz, -webkit, not -o, not -ms, not -khtml;
7
-
8
- // @doc off
9
- // These defaults make the arguments optional for this mixin
10
- // If you like, set different defaults before importing.
11
- // @doc on
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
7
+ $box-shadow-support: -moz, -webkit, not -ms, not -o, not -khtml;
12
8
 
13
- // ----------------------------------------------------------------------------
14
- // Defaults
15
9
 
16
10
  // The default color for box shadows
17
- $default-box-shadow-color: #333333 !default;
11
+ $default-box-shadow-color : #333333 !default;
18
12
 
19
13
  // The default horizontal offset. Positive is to the right.
20
- $default-box-shadow-h-offset: 0px !default;
14
+ $default-box-shadow-h-offset : 0px !default;
21
15
 
22
16
  // The default vertical offset. Positive is down.
23
- $default-box-shadow-v-offset: 0px !default;
17
+ $default-box-shadow-v-offset : 0px !default;
24
18
 
25
19
  // The default blur length.
26
- $default-box-shadow-blur: 5px !default;
20
+ $default-box-shadow-blur : 5px !default;
27
21
 
28
22
  // The default spread length.
29
- $default-box-shadow-spread : false !default;
23
+ $default-box-shadow-spread : false !default;
30
24
 
31
25
  // The default shadow inset: inset or false (for standard shadow).
32
- $default-box-shadow-inset : false !default;
26
+ $default-box-shadow-inset : false !default;
33
27
 
34
- // ----------------------------------------------------------------------------
35
- // Mixins
36
28
 
37
29
  // Provides cross-browser for Webkit, Gecko, and CSS3 box shadows
38
30
  // when one or more box shadows are needed.
@@ -1,12 +1,11 @@
1
+ // Box Sizing
2
+
1
3
  @import "shared";
2
4
 
3
- // ----------------------------------------------------------------------------
4
5
  // @private css3-feature-support variables must always include a list of five boolean values
5
- // representing in order: -moz, -webkit, -o, -ms, -khtml
6
- $box-sizing-support: -moz, -webkit, not -o, not -ms, not -khtml;
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
7
+ $box-sizing-support: -moz, -webkit, not -ms, not -o, not -khtml;
7
8
 
8
- // ----------------------------------------------------------------------------
9
- // Mixin
10
9
 
11
10
  // Change the box model for Mozilla, Webkit, IE8 and the future
12
11
  //
@@ -1,39 +1,36 @@
1
+ // Flexible Box
2
+
1
3
  @import "shared";
2
4
 
3
- // ----------------------------------------------------------------------------
4
5
  // @private css3-feature-support variables must always include a list of five boolean values
5
- // representing in order: -moz, -webkit, -o, -ms, -khtml
6
- $flexbox-support: -moz, -webkit, not -o, -ms, not -khtml;
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
7
+ $flexbox-support: -moz, -webkit, -ms, not -o, not -khtml;
7
8
 
8
- // ----------------------------------------------------------------------------
9
- // Defaults
10
9
 
11
10
  // Default box orientation, assuming that the user wants something less block-like
12
- $default-box-orient: horizontal !default;
11
+ $default-box-orient : horizontal !default;
13
12
 
14
13
  // Default box-align
15
- $default-box-align: stretch !default;
14
+ $default-box-align : stretch !default;
16
15
 
17
16
  // Default box flex
18
- $default-box-flex: 0 !default;
17
+ $default-box-flex : 0 !default;
19
18
 
20
19
  // Default flex group
21
- $default-box-flex-group: 1 !default;
20
+ $default-box-flex-group : 1 !default;
22
21
 
23
22
  // Box direction default value
24
- $default-box-direction: normal !default;
23
+ $default-box-direction : normal !default;
25
24
 
26
25
  // Default ordinal group
27
- $default-box-ordinal-group: 1 !default;
26
+ $default-box-ordinal-group : 1 !default;
28
27
 
29
28
  // Default box lines
30
- $default-box-lines: single !default;
29
+ $default-box-lines : single !default;
31
30
 
32
31
  // Default box pack
33
- $default-box-pack: start !default;
32
+ $default-box-pack : start !default;
34
33
 
35
- // ----------------------------------------------------------------------------
36
- // Mixins
37
34
 
38
35
  // Apply 'display:box;' to an element.
39
36
  // - must be used for any of the other flexbox mixins to work properly
@@ -66,7 +63,7 @@ $default-box-pack: start !default;
66
63
  }
67
64
 
68
65
  // Takes an int argument for ordinal grouping and rearranging the order
69
- @mixin box-ordinal-group($group: $default-ordinal-flex-group) {
66
+ @mixin box-ordinal-group($group: $default-box-ordinal-group) {
70
67
  @include experimental(box-ordinal-group, $group, $flexbox-support...);
71
68
  }
72
69
 
@@ -1,12 +1,11 @@
1
+ // Columns
2
+
1
3
  @import "shared";
2
4
 
3
- // ----------------------------------------------------------------------------
4
5
  // @private css3-feature-support variables must always include a list of five boolean values
5
- // representing in order: -moz, -webkit, -o, -ms, -khtml
6
- $multicolumn-support: -moz, -webkit, not -o, not -ms, not -khtml;
6
+ // representing in order: -moz, -webkit, -ms, -o, -khtml
7
+ $multicolumn-support: -moz, -webkit, not -ms, not -o, not -khtml;
7
8
 
8
- // ----------------------------------------------------------------------------
9
- // Mixins
10
9
 
11
10
  // Specify the shorthand `columns` property.
12
11
  //
@@ -125,7 +124,7 @@ $multicolumn-support: -moz, -webkit, not -o, not -ms, not -khtml;
125
124
 
126
125
  @mixin column-break-before($value: auto){
127
126
  @include column-break(before, $value);
128
- @warn '"column-break-before" has been deprecated in favor of the official syntax: "break-before".'
127
+ @warn '"column-break-before" has been deprecated in favor of the official syntax: "break-before".';
129
128
  }
130
129
 
131
130
  // Mixin for setting break-after
@@ -146,7 +145,7 @@ $multicolumn-support: -moz, -webkit, not -o, not -ms, not -khtml;
146
145
 
147
146
  @mixin column-break-after($value: auto){
148
147
  @include column-break(after, $value);
149
- @warn '"column-break-after" has been deprecated in favor of the official syntax: "break-after".'
148
+ @warn '"column-break-after" has been deprecated in favor of the official syntax: "break-after".';
150
149
  }
151
150
 
152
151
  // Mixin for setting break-inside
@@ -167,7 +166,7 @@ $multicolumn-support: -moz, -webkit, not -o, not -ms, not -khtml;
167
166
 
168
167
  @mixin column-break-inside($value: auto){
169
168
  @include column-break(inside, $value);
170
- @warn '"column-break-inside" has been deprecated in favor of the official syntax: "break-inside".'
169
+ @warn '"column-break-inside" has been deprecated in favor of the official syntax: "break-inside".';
171
170
  }
172
171
 
173
172
  // Mixin for setting column-span