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

Sign up to get free protection for your applications and to get access to all the features.
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