sass 3.4.7 → 3.4.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6ce3a34b6410945928265cb2994c16ff2ba8fe8e
4
- data.tar.gz: a298709397821b949d06896b2265ea6557fe402e
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTMwOWU4MTI1ZGY3NGJkZmRhNGQ1Yjc3YWM0NGZhZTBhNDhkYTI1MQ==
5
+ data.tar.gz: !binary |-
6
+ MDVmYTBlMDc2MTE4M2U2NmEwNDFjYjlmMTQzMTUzYzk5MjA3NGEwZg==
5
7
  SHA512:
6
- metadata.gz: e4326c4cef81a6972653a0fb2371c6d0d09225b3f52fcb2aaeb3e9c897ccdde23217dc10200e34afc3343fd5629404a71669bbe7aea7662be0bb2487d5718186
7
- data.tar.gz: 1aaa2849ef7c65e26ce841d83453b5d31a99c1f44e6f74441b663f70ca5f9194cd5150bce442e0d4656c8d83e5d4ae4d25c85a861ad9118956f82fbbaad81c04
8
+ metadata.gz: !binary |-
9
+ MzlmZDNjMjg0NTJlMjZmOTk4YTU3Y2YwNjlhMTk0Njc0OGEwM2RhYjdjYTZh
10
+ MzdhMjg5OTg1ZjVmZmY2OGY2OWVlN2E5MjcwZmU3OGQxMmU0ZWIwZjE0NDhk
11
+ MGQ1OWUwNGQ2NDU1OTIzMDA0YjAzZjhiMGNmM2JjZTZlMzUyYzU=
12
+ data.tar.gz: !binary |-
13
+ ZjNmNDJmYTBkOWUxMmU3ZDQzMDc0NzRhMWU1ZWZiMWY1MjM1YmEwZDkwMGZi
14
+ Nzg5MDFiZWY3NTFmMmU4M2ViY2M2NjUwZGQxNGZkZGI3ODlhNjRlYWE5NTRh
15
+ MjAwMzYzODkzZDA0NmIyM2EzMjVmNzA5M2Y5YzFkZTg1YTY4ZmM=
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.4.7
1
+ 3.4.8
@@ -1 +1 @@
1
- 31 October 2014 21:28:44 UTC
1
+ 15 November 2014 00:58:58 UTC
@@ -482,8 +482,7 @@ module Sass::Script
482
482
  include Value::Helpers
483
483
 
484
484
  # The human-readable names for [Sass::Script::Value::Base]. The default is
485
- # just the downcased name of the type. The default is the downcased type
486
- # name.
485
+ # just the downcased name of the type.
487
486
  TYPE_NAMES = {:ArgList => 'variable argument list'}
488
487
 
489
488
  # The environment for this function. This environment's
@@ -652,11 +651,11 @@ module Sass::Script
652
651
  #
653
652
  # @overload rgba($red, $green, $blue, $alpha)
654
653
  # @param $red [Sass::Script::Value::Number] The amount of red in the
655
- # color. Must be between 0 and 255 inclusive
654
+ # color. Must be between 0 and 255 inclusive or 0% and 100% inclusive
656
655
  # @param $green [Sass::Script::Value::Number] The amount of green in the
657
- # color. Must be between 0 and 255 inclusive
656
+ # color. Must be between 0 and 255 inclusive or 0% and 100% inclusive
658
657
  # @param $blue [Sass::Script::Value::Number] The amount of blue in the
659
- # color. Must be between 0 and 255 inclusive
658
+ # color. Must be between 0 and 255 inclusive or 0% and 100% inclusive
660
659
  # @param $alpha [Sass::Script::Value::Number] The opacity of the color.
661
660
  # Must be between 0 and 1 inclusive
662
661
  # @return [Sass::Script::Value::Color]
@@ -684,6 +683,7 @@ module Sass::Script
684
683
 
685
684
  assert_type color, :Color, :color
686
685
  assert_type alpha, :Number, :alpha
686
+ check_alpha_unit alpha, 'rgba'
687
687
 
688
688
  color.with(:alpha => alpha.value)
689
689
  when 4
@@ -741,6 +741,7 @@ module Sass::Script
741
741
  assert_type saturation, :Number, :saturation
742
742
  assert_type lightness, :Number, :lightness
743
743
  assert_type alpha, :Number, :alpha
744
+ check_alpha_unit alpha, 'hsla'
744
745
 
745
746
  h = hue.value
746
747
  s = saturation.value
@@ -2625,5 +2626,21 @@ module Sass::Script
2625
2626
 
2626
2627
  color.with(attr => color.send(attr).send(op, amount.value))
2627
2628
  end
2629
+
2630
+ def check_alpha_unit(alpha, function)
2631
+ return if alpha.unitless?
2632
+
2633
+ if alpha.is_unit?("%")
2634
+ Sass::Util.sass_warn(<<WARNING)
2635
+ DEPRECATION WARNING: Passing a percentage as the alpha value to #{function}() will be
2636
+ interpreted differently in future versions of Sass. For now, use #{alpha.value} instead.
2637
+ WARNING
2638
+ else
2639
+ Sass::Util.sass_warn(<<WARNING)
2640
+ DEPRECATION WARNING: Passing a number with units as the alpha value to #{function}() is
2641
+ deprecated and will be an error in future versions of Sass. Use #{alpha.value} instead.
2642
+ WARNING
2643
+ end
2644
+ end
2628
2645
  end
2629
2646
  end
@@ -164,6 +164,20 @@ module Sass
164
164
  extended = sel.selector.do_extend(extends, parent_directives, replace, seen, !:original)
165
165
  next sel if extended == sel.selector
166
166
  extended.members.reject! {|seq| seq.has_placeholder?}
167
+
168
+ # For `:not()`, we usually want to get rid of any complex
169
+ # selectors becuase that will cause the selector to fail to
170
+ # parse on all browsers at time of writing. We can keep them
171
+ # if either the original selector had a complex selector, or
172
+ # the result of extending has only complex selectors,
173
+ # because either way we aren't breaking anything that isn't
174
+ # already broken.
175
+ if sel.normalized_name == 'not' &&
176
+ (sel.selector.members.none? {|seq| seq.members.length > 1} &&
177
+ extended.members.any? {|seq| seq.members.length == 1})
178
+ extended.members.reject! {|seq| seq.members.length > 1}
179
+ end
180
+
167
181
  modified_original = true
168
182
  result = sel.with_selector(extended)
169
183
  result.each {|new_sel| seen_with_pseudo_selectors << [new_sel]}
@@ -0,0 +1 @@
1
+ foo {a: x}
@@ -362,7 +362,21 @@ SCSS
362
362
  end
363
363
 
364
364
  def test_complex_extend_into_pseudoclass
365
- assert_extends(':not(.bar)', '.x .y {@extend .bar}', ':not(.bar):not(.x .y)')
365
+ # Unlike other selectors, we don't allow complex selectors to be
366
+ # added to `:not` if they weren't there before. At time of
367
+ # writing, most browsers don't support that and will throw away
368
+ # the entire selector if it exists.
369
+ #assert_extends(':not(.bar)', '.x .y {@extend .bar}', ':not(.bar)')
370
+
371
+ # If the `:not()` already has a complex selector, we won't break
372
+ # anything by adding a new one.
373
+ assert_extends(':not(.baz .bar)', '.x .y {@extend .bar}',
374
+ ':not(.baz .bar):not(.baz .x .y):not(.x .baz .y)')
375
+
376
+ # If the `:not()` would only contain complex selectors, there's no
377
+ # harm in letting it continue to exist.
378
+ assert_extends(':not(%bar)', '.x .y {@extend %bar}', ':not(.x .y)')
379
+
366
380
  assert_extends(':matches(.bar)', '.x .y {@extend .bar}', ':matches(.bar, .x .y)')
367
381
  assert_extends(':current(.bar)', '.x .y {@extend .bar}', ':current(.bar, .x .y)')
368
382
  assert_extends(':has(.bar)', '.x .y {@extend .bar}', ':has(.bar, .x .y)')
@@ -122,6 +122,20 @@ class SassFunctionTest < MiniTest::Test
122
122
  assert_error_message("$alpha: \"foo\" is not a number for `hsla'", "hsla(10, 10, 10, \"foo\")");
123
123
  end
124
124
 
125
+ def test_hsla_percent_warning
126
+ assert_warning(<<WARNING) {evaluate("hsla(180, 60%, 50%, 40%)")}
127
+ DEPRECATION WARNING: Passing a percentage as the alpha value to hsla() will be
128
+ interpreted differently in future versions of Sass. For now, use 40 instead.
129
+ WARNING
130
+ end
131
+
132
+ def test_hsla_unit_warning
133
+ assert_warning(<<WARNING) {evaluate("hsla(180, 60%, 50%, 40em)")}
134
+ DEPRECATION WARNING: Passing a number with units as the alpha value to hsla() is
135
+ deprecated and will be an error in future versions of Sass. Use 40 instead.
136
+ WARNING
137
+ end
138
+
125
139
  def test_percentage
126
140
  assert_equal("50%", evaluate("percentage(.5)"))
127
141
  assert_equal("100%", evaluate("percentage(1)"))
@@ -274,6 +288,20 @@ class SassFunctionTest < MiniTest::Test
274
288
  assert_error_message("wrong number of arguments (5 for 4) for `rgba'", "rgba(1, 2, 3, 0.4, 5)");
275
289
  end
276
290
 
291
+ def test_rgba_percent_warning
292
+ assert_warning(<<WARNING) {evaluate("rgba(1, 2, 3, 40%)")}
293
+ DEPRECATION WARNING: Passing a percentage as the alpha value to rgba() will be
294
+ interpreted differently in future versions of Sass. For now, use 40 instead.
295
+ WARNING
296
+ end
297
+
298
+ def test_rgba_unit_warning
299
+ assert_warning(<<WARNING) {evaluate("rgba(1, 2, 3, 40em)")}
300
+ DEPRECATION WARNING: Passing a number with units as the alpha value to rgba() is
301
+ deprecated and will be an error in future versions of Sass. Use 40 instead.
302
+ WARNING
303
+ end
304
+
277
305
  def test_red
278
306
  assert_equal("18", evaluate("red(#123456)"))
279
307
  assert_equal("18", evaluate("red($color: #123456)"))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.7
4
+ version: 3.4.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Natalie Weizenbaum
@@ -10,55 +10,54 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-10-31 00:00:00.000000000 Z
13
+ date: 2014-11-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: yard
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - '>='
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
21
  version: 0.5.3
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - '>='
26
+ - - ! '>='
27
27
  - !ruby/object:Gem::Version
28
28
  version: 0.5.3
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: maruku
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
- - - '>='
33
+ - - ! '>='
34
34
  - !ruby/object:Gem::Version
35
35
  version: 0.5.9
36
36
  type: :development
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - '>='
40
+ - - ! '>='
41
41
  - !ruby/object:Gem::Version
42
42
  version: 0.5.9
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: minitest
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - '>='
47
+ - - ! '>='
48
48
  - !ruby/object:Gem::Version
49
49
  version: '5'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - '>='
54
+ - - ! '>='
55
55
  - !ruby/object:Gem::Version
56
56
  version: '5'
57
- description: |2
58
- Sass makes CSS fun again. Sass is an extension of CSS3, adding
59
- nested rules, variables, mixins, selector inheritance, and more.
60
- It's translated to well-formatted, standard CSS using the
61
- command line tool or a web-framework plugin.
57
+ description: ! " Sass makes CSS fun again. Sass is an extension of CSS3, adding\n
58
+ \ nested rules, variables, mixins, selector inheritance, and more.\n It's
59
+ translated to well-formatted, standard CSS using the\n command line tool or
60
+ a web-framework plugin.\n"
62
61
  email: sass-lang@googlegroups.com
63
62
  executables:
64
63
  - sass
@@ -211,6 +210,7 @@ files:
211
210
  - lib/sass/util/test.rb
212
211
  - lib/sass/version.rb
213
212
  - rails/init.rb
213
+ - test/foo.scss
214
214
  - test/sass/cache_test.rb
215
215
  - test/sass/callbacks_test.rb
216
216
  - test/sass/compiler_test.rb
@@ -381,43 +381,43 @@ require_paths:
381
381
  - lib
382
382
  required_ruby_version: !ruby/object:Gem::Requirement
383
383
  requirements:
384
- - - '>='
384
+ - - ! '>='
385
385
  - !ruby/object:Gem::Version
386
386
  version: 1.8.7
387
387
  required_rubygems_version: !ruby/object:Gem::Requirement
388
388
  requirements:
389
- - - '>='
389
+ - - ! '>='
390
390
  - !ruby/object:Gem::Version
391
391
  version: '0'
392
392
  requirements: []
393
393
  rubyforge_project: sass
394
- rubygems_version: 2.2.2
394
+ rubygems_version: 2.4.3
395
395
  signing_key:
396
396
  specification_version: 4
397
397
  summary: A powerful but elegant CSS compiler that makes CSS fun again.
398
398
  test_files:
399
+ - test/sass/engine_test.rb
400
+ - test/sass/functions_test.rb
399
401
  - test/sass/value_helpers_test.rb
402
+ - test/sass/extend_test.rb
403
+ - test/sass/logger_test.rb
404
+ - test/sass/compiler_test.rb
405
+ - test/sass/css2sass_test.rb
400
406
  - test/sass/conversion_test.rb
401
- - test/sass/cache_test.rb
402
407
  - test/sass/script_test.rb
403
- - test/sass/superselector_test.rb
408
+ - test/sass/exec_test.rb
409
+ - test/sass/util/subset_map_test.rb
410
+ - test/sass/util/multibyte_string_scanner_test.rb
411
+ - test/sass/util/normalized_map_test.rb
404
412
  - test/sass/callbacks_test.rb
405
- - test/sass/source_map_test.rb
406
- - test/sass/script_conversion_test.rb
407
- - test/sass/util_test.rb
408
- - test/sass/plugin_test.rb
409
- - test/sass/extend_test.rb
410
- - test/sass/scss/rx_test.rb
413
+ - test/sass/importer_test.rb
411
414
  - test/sass/scss/css_test.rb
412
415
  - test/sass/scss/scss_test.rb
413
- - test/sass/logger_test.rb
414
- - test/sass/importer_test.rb
416
+ - test/sass/scss/rx_test.rb
417
+ - test/sass/util_test.rb
418
+ - test/sass/script_conversion_test.rb
419
+ - test/sass/superselector_test.rb
415
420
  - test/sass/encoding_test.rb
416
- - test/sass/engine_test.rb
417
- - test/sass/exec_test.rb
418
- - test/sass/util/normalized_map_test.rb
419
- - test/sass/util/subset_map_test.rb
420
- - test/sass/util/multibyte_string_scanner_test.rb
421
- - test/sass/functions_test.rb
422
- - test/sass/compiler_test.rb
423
- - test/sass/css2sass_test.rb
421
+ - test/sass/cache_test.rb
422
+ - test/sass/source_map_test.rb
423
+ - test/sass/plugin_test.rb