sass 3.4.13 → 3.4.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +13 -5
- data/MIT-LICENSE +1 -1
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/lib/sass/cache_stores/filesystem.rb +5 -5
- data/lib/sass/engine.rb +2 -2
- data/lib/sass/script/functions.rb +10 -1
- data/lib/sass/script/tree/operation.rb +11 -4
- data/lib/sass/script/value/color.rb +4 -4
- data/lib/sass/scss/parser.rb +3 -6
- data/lib/sass/supports.rb +8 -10
- data/lib/sass/tree/import_node.rb +6 -5
- data/test/sass/conversion_test.rb +2 -2
- data/test/sass/engine_test.rb +0 -2
- data/test/sass/functions_test.rb +7 -7
- data/test/sass/results/script.css +2 -2
- data/test/sass/script_test.rb +12 -1
- data/test/sass/scss/css_test.rb +29 -4
- data/test/sass/scss/scss_test.rb +2 -2
- metadata +32 -33
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NDA5ZDI0Y2RkM2M2NTNkZjI1YzFiMDhkNGM0MmRiNTA4NDE4NThiMw==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MzMxNGY0ZTk1ZDdhYjFmNTYwOGY3MjUyN2I2NjQ5NGIwNGIxZDlhNg==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
YzFkYzMyZDgzM2ZlZjUzOWE4NDZkNTI1ZjI1ZGY2OTNkNjQxMTRmZGNmMWRh
|
10
|
+
MWEwMzdmY2M1ZmZmYTg3NmY0NDZlYTEzYjgxYTlkZjA4NzkwN2RkNjAxNDFh
|
11
|
+
Yjk5MGVjMGY5MTIyYjgwYjdkMmI1YTU5MzM0Zjg2ODY5YWY0ZTc=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
Yzc0NTE0NWMwMjg4MWY5MTkwMjY4ODY0ZTBmOTIzZWJiMDJkNWM5NzJjYWEy
|
14
|
+
OTBiYzBiYTRlYTFjODdmNThmOTMxMzI0ZmM5ZjYxMDk4NWY5OThkNTJmMGZl
|
15
|
+
NTcyNjQ1NGJjZGQ4MTQ5NjhmMzc1OGQ1NTIyMTMwZTRlYmJmMmQ=
|
data/MIT-LICENSE
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c) 2006-
|
1
|
+
Copyright (c) 2006-2015 Hampton Catlin, Natalie Weizenbaum, and Chris Eppstein
|
2
2
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining
|
4
4
|
a copy of this software and associated documentation files (the
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.4.
|
1
|
+
3.4.14
|
data/VERSION_DATE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
23 May 2015 02:17:06 UTC
|
@@ -17,12 +17,12 @@ module Sass
|
|
17
17
|
# @see Base#\_retrieve
|
18
18
|
def _retrieve(key, version, sha)
|
19
19
|
return unless File.readable?(path_to(key))
|
20
|
-
File.open(path_to(key), "rb") do |f|
|
21
|
-
if f.readline("\n").strip == version && f.readline("\n").strip == sha
|
22
|
-
return f.read
|
23
|
-
end
|
24
|
-
end
|
25
20
|
begin
|
21
|
+
File.open(path_to(key), "rb") do |f|
|
22
|
+
if f.readline("\n").strip == version && f.readline("\n").strip == sha
|
23
|
+
return f.read
|
24
|
+
end
|
25
|
+
end
|
26
26
|
File.unlink path_to(key)
|
27
27
|
rescue Errno::ENOENT
|
28
28
|
# Already deleted. Race condition?
|
data/lib/sass/engine.rb
CHANGED
@@ -84,7 +84,7 @@ module Sass
|
|
84
84
|
# This class handles the parsing and compilation of the Sass template.
|
85
85
|
# Example usage:
|
86
86
|
#
|
87
|
-
# template = File.
|
87
|
+
# template = File.read('stylesheets/sassy.sass')
|
88
88
|
# sass_engine = Sass::Engine.new(template)
|
89
89
|
# output = sass_engine.render
|
90
90
|
# puts output
|
@@ -157,7 +157,7 @@ module Sass
|
|
157
157
|
# @api public
|
158
158
|
DEFAULT_OPTIONS = {
|
159
159
|
:style => :nested,
|
160
|
-
:load_paths => [
|
160
|
+
:load_paths => [],
|
161
161
|
:cache => true,
|
162
162
|
:cache_location => './.sass-cache',
|
163
163
|
:syntax => :sass,
|
@@ -217,7 +217,7 @@ module Sass::Script
|
|
217
217
|
# for selector arguments. They can take a plain string, a list of
|
218
218
|
# lists as returned by `&` or anything in between:
|
219
219
|
#
|
220
|
-
# * A plain
|
220
|
+
# * A plain string, such as `".foo .bar, .baz .bang"`.
|
221
221
|
# * A space-separated list of strings such as `(".foo" ".bar")`.
|
222
222
|
# * A comma-separated list of strings such as `(".foo .bar", ".baz .bang")`.
|
223
223
|
# * A comma-separated list of space-separated lists of strings such
|
@@ -1398,6 +1398,15 @@ module Sass::Script
|
|
1398
1398
|
# @raise [ArgumentError] if `$string` isn't a string
|
1399
1399
|
def unquote(string)
|
1400
1400
|
unless string.is_a?(Sass::Script::Value::String)
|
1401
|
+
# Don't warn multiple times for the same source line.
|
1402
|
+
# rubocop:disable GlobalVars
|
1403
|
+
$_sass_warned_for_unquote ||= Set.new
|
1404
|
+
frame = environment.stack.frames.last
|
1405
|
+
key = [frame.filename, frame.line] if frame
|
1406
|
+
return string if frame && $_sass_warned_for_unquote.include?(key)
|
1407
|
+
$_sass_warned_for_unquote << key if frame
|
1408
|
+
# rubocop:enable GlobalVars
|
1409
|
+
|
1401
1410
|
Sass::Util.sass_warn(<<MESSAGE.strip)
|
1402
1411
|
DEPRECATION WARNING: Passing #{string.to_sass}, a non-string value, to unquote()
|
1403
1412
|
will be an error in future versions of Sass.
|
@@ -85,12 +85,19 @@ module Sass::Script::Tree
|
|
85
85
|
raise Sass::SyntaxError.new("Undefined operation: \"#{value1} #{@operator} #{value2}\".")
|
86
86
|
end
|
87
87
|
|
88
|
-
if @operator == :eq && value1.is_a?(Sass::Script::Value::Number) &&
|
89
|
-
|
90
|
-
|
88
|
+
if (@operator == :eq || @operator == :neq) && value1.is_a?(Sass::Script::Value::Number) &&
|
89
|
+
value2.is_a?(Sass::Script::Value::Number) && value1.unitless? != value2.unitless? &&
|
90
|
+
result == (if @operator == :eq
|
91
|
+
Sass::Script::Value::Bool::TRUE
|
92
|
+
else
|
93
|
+
Sass::Script::Value::Bool::FALSE
|
94
|
+
end)
|
95
|
+
|
96
|
+
operation = "#{value1} #{@operator == :eq ? '==' : '!='} #{value2}"
|
97
|
+
future_value = @operator == :neq
|
91
98
|
Sass::Util.sass_warn <<WARNING
|
92
99
|
DEPRECATION WARNING on line #{line}#{" of #{filename}" if filename}:
|
93
|
-
The result of `#{
|
100
|
+
The result of `#{operation}` will be `#{future_value}` in future releases of Sass.
|
94
101
|
Unitless numbers will no longer be equal to the same numbers with units.
|
95
102
|
WARNING
|
96
103
|
end
|
@@ -232,7 +232,7 @@ module Sass::Script::Value
|
|
232
232
|
raise ArgumentError.new("Color.new(array) expects a three- or four-element array")
|
233
233
|
end
|
234
234
|
|
235
|
-
red, green, blue = attrs[0...3].map {|c| c.
|
235
|
+
red, green, blue = attrs[0...3].map {|c| c.round}
|
236
236
|
@attrs = {:red => red, :green => green, :blue => blue}
|
237
237
|
@attrs[:alpha] = attrs[3] ? attrs[3].to_f : 1
|
238
238
|
@representation = representation
|
@@ -258,7 +258,7 @@ module Sass::Script::Value
|
|
258
258
|
|
259
259
|
[:red, :green, :blue].each do |k|
|
260
260
|
next if @attrs[k].nil?
|
261
|
-
@attrs[k] = Sass::Util.restrict(@attrs[k].
|
261
|
+
@attrs[k] = Sass::Util.restrict(@attrs[k].round, 0..255)
|
262
262
|
end
|
263
263
|
|
264
264
|
[:saturation, :lightness].each do |k|
|
@@ -283,7 +283,7 @@ module Sass::Script::Value
|
|
283
283
|
green = $2.ljust(2, $2).to_i(16)
|
284
284
|
blue = $3.ljust(2, $3).to_i(16)
|
285
285
|
|
286
|
-
hex_string =
|
286
|
+
hex_string = "##{hex_string}" unless hex_string[0] == ?#
|
287
287
|
attrs = {:red => red, :green => green, :blue => blue, :representation => hex_string}
|
288
288
|
attrs[:alpha] = alpha if alpha
|
289
289
|
new(attrs)
|
@@ -382,7 +382,7 @@ module Sass::Script::Value
|
|
382
382
|
# @return [Array<Fixnum>] A frozen four-element array of the hue,
|
383
383
|
# saturation, lightness, and alpha values (respectively) of the color
|
384
384
|
def hsla
|
385
|
-
[hue, saturation, lightness].freeze
|
385
|
+
[hue, saturation, lightness, alpha].freeze
|
386
386
|
end
|
387
387
|
|
388
388
|
# The SassScript `==` operation.
|
data/lib/sass/scss/parser.rb
CHANGED
@@ -562,7 +562,9 @@ module Sass
|
|
562
562
|
def supports_operator
|
563
563
|
cond = supports_condition_in_parens
|
564
564
|
return unless cond
|
565
|
-
|
565
|
+
re = /and|or/i
|
566
|
+
while (op = tok(re))
|
567
|
+
re = /#{op}/i
|
566
568
|
ss
|
567
569
|
cond = Sass::Supports::Operator.new(
|
568
570
|
cond, expr!(:supports_condition_in_parens), op)
|
@@ -586,11 +588,6 @@ module Sass
|
|
586
588
|
end
|
587
589
|
end
|
588
590
|
|
589
|
-
def supports_declaration_condition
|
590
|
-
return unless tok(/\(/); ss
|
591
|
-
supports_declaration_body
|
592
|
-
end
|
593
|
-
|
594
591
|
def supports_interpolation
|
595
592
|
interp = interpolation
|
596
593
|
return unless interp
|
data/lib/sass/supports.rb
CHANGED
@@ -58,11 +58,11 @@ module Sass::Supports
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def to_css
|
61
|
-
"#{
|
61
|
+
"#{parens @left, @left.to_css} #{op} #{parens @right, @right.to_css}"
|
62
62
|
end
|
63
63
|
|
64
64
|
def to_src(options)
|
65
|
-
"#{
|
65
|
+
"#{parens @left, @left.to_src(options)} #{op} #{parens @right, @right.to_src(options)}"
|
66
66
|
end
|
67
67
|
|
68
68
|
def deep_copy
|
@@ -79,14 +79,12 @@ module Sass::Supports
|
|
79
79
|
|
80
80
|
private
|
81
81
|
|
82
|
-
def
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
return "(#{str})" if @right.is_a?(Negation) || @right.is_a?(Operator)
|
89
|
-
str
|
82
|
+
def parens(condition, str)
|
83
|
+
if condition.is_a?(Negation) || (condition.is_a?(Operator) && condition.op != op)
|
84
|
+
return "(#{str})"
|
85
|
+
else
|
86
|
+
return str
|
87
|
+
end
|
90
88
|
end
|
91
89
|
end
|
92
90
|
|
@@ -55,13 +55,14 @@ module Sass
|
|
55
55
|
return f if f
|
56
56
|
end
|
57
57
|
|
58
|
-
|
58
|
+
lines = ["File to import not found or unreadable: #{@imported_filename}."]
|
59
|
+
|
59
60
|
if paths.size == 1
|
60
|
-
|
61
|
-
|
62
|
-
|
61
|
+
lines << "Load path: #{paths.first}"
|
62
|
+
elsif !paths.empty?
|
63
|
+
lines << "Load paths:\n #{paths.join("\n ")}"
|
63
64
|
end
|
64
|
-
raise SyntaxError.new(
|
65
|
+
raise SyntaxError.new(lines.join("\n"))
|
65
66
|
rescue SyntaxError => e
|
66
67
|
raise SyntaxError.new(e.message, :line => line, :filename => @filename)
|
67
68
|
end
|
@@ -1311,7 +1311,7 @@ $query: "(feature1: val)"
|
|
1311
1311
|
$feature: feature2
|
1312
1312
|
$val: val
|
1313
1313
|
|
1314
|
-
@supports \#{$query} and ($feature: $val) or (not ($feature + 3: $val + 4))
|
1314
|
+
@supports (\#{$query} and ($feature: $val)) or (not ($feature + 3: $val + 4))
|
1315
1315
|
foo
|
1316
1316
|
a: b
|
1317
1317
|
SASS
|
@@ -1319,7 +1319,7 @@ $query: "(feature1: val)";
|
|
1319
1319
|
$feature: feature2;
|
1320
1320
|
$val: val;
|
1321
1321
|
|
1322
|
-
@supports \#{$query} and ($feature: $val) or (not ($feature + 3: $val + 4)) {
|
1322
|
+
@supports (\#{$query} and ($feature: $val)) or (not ($feature + 3: $val + 4)) {
|
1323
1323
|
foo {
|
1324
1324
|
a: b;
|
1325
1325
|
}
|
data/test/sass/engine_test.rb
CHANGED
@@ -680,7 +680,6 @@ SASS
|
|
680
680
|
def test_nonexistent_import
|
681
681
|
assert_raise_message(Sass::SyntaxError, <<ERR.rstrip) do
|
682
682
|
File to import not found or unreadable: nonexistent.sass.
|
683
|
-
Load path: #{Dir.pwd}
|
684
683
|
ERR
|
685
684
|
render("@import nonexistent.sass")
|
686
685
|
end
|
@@ -689,7 +688,6 @@ ERR
|
|
689
688
|
def test_nonexistent_extensionless_import
|
690
689
|
assert_raise_message(Sass::SyntaxError, <<ERR.rstrip) do
|
691
690
|
File to import not found or unreadable: nonexistent.
|
692
|
-
Load path: #{Dir.pwd}
|
693
691
|
ERR
|
694
692
|
render("@import nonexistent")
|
695
693
|
end
|
data/test/sass/functions_test.rb
CHANGED
@@ -220,10 +220,10 @@ WARNING
|
|
220
220
|
end
|
221
221
|
|
222
222
|
def test_rgb_percent
|
223
|
-
assert_equal("#
|
223
|
+
assert_equal("#123457", evaluate("rgb(7.1%, 20.4%, 34%)"))
|
224
224
|
assert_equal("#beaded", evaluate("rgb(74.7%, 173, 93%)"))
|
225
225
|
assert_equal("#beaded", evaluate("rgb(190, 68%, 237)"))
|
226
|
-
assert_equal("
|
226
|
+
assert_equal("#00ff80", evaluate("rgb(0%, 100%, 50%)"))
|
227
227
|
end
|
228
228
|
|
229
229
|
def test_rgb_clamps_bounds
|
@@ -813,11 +813,11 @@ WARNING
|
|
813
813
|
end
|
814
814
|
|
815
815
|
def test_mix
|
816
|
-
assert_equal("
|
817
|
-
assert_equal("
|
818
|
-
assert_equal("#
|
819
|
-
assert_equal("#
|
820
|
-
assert_equal("rgba(
|
816
|
+
assert_equal("purple", evaluate("mix(#f00, #00f)"))
|
817
|
+
assert_equal("gray", evaluate("mix(#f00, #0ff)"))
|
818
|
+
assert_equal("#809155", evaluate("mix(#f70, #0aa)"))
|
819
|
+
assert_equal("#4000bf", evaluate("mix(#f00, #00f, 25%)"))
|
820
|
+
assert_equal("rgba(64, 0, 191, 0.75)", evaluate("mix(rgba(255, 0, 0, 0.5), #00f)"))
|
821
821
|
assert_equal("red", evaluate("mix(#f00, #00f, 100%)"))
|
822
822
|
assert_equal("blue", evaluate("mix(#f00, #00f, 0%)"))
|
823
823
|
assert_equal("rgba(255, 0, 0, 0.5)", evaluate("mix(#f00, transparentize(#00f, 1))"))
|
@@ -1,9 +1,9 @@
|
|
1
1
|
#main { content: Hello\!; qstr: 'Quo"ted"!'; hstr: Hyph-en\!; width: 30em; background-color: #000; color: #ffa; short-color: #123; named-color: olive; con: "foo" bar 9 hi there "boom"; con2: "noquo" quo; }
|
2
2
|
#main #sidebar { background-color: #00ff98; num-normal: 10; num-dec: 10.2; num-dec0: 99; num-neg: -10; esc: 10\+12; many: 6; order: 7; complex: #4c9db1hi16; }
|
3
3
|
|
4
|
-
#plus { num-num: 7; num-num-un: 25em; num-num-un2: 23em; num-num-neg: 9.87; num-str: 100px; num-col: #b7b7b7; num-perc: 31%; str-str: "hi there"; str-str2: "hi there"; str-col: "14em solid #123"; str-num: "times: 13"; col-num: #
|
4
|
+
#plus { num-num: 7; num-num-un: 25em; num-num-un2: 23em; num-num-neg: 9.87; num-str: 100px; num-col: #b7b7b7; num-perc: 31%; str-str: "hi there"; str-str2: "hi there"; str-col: "14em solid #123"; str-num: "times: 13"; col-num: #ff7c9e; col-col: #5173ff; }
|
5
5
|
|
6
|
-
#minus { num-num: 900; col-num: #
|
6
|
+
#minus { num-num: 900; col-num: #fafaf5; col-col: #000035; unary-num: -1; unary-const: 10; unary-paren: -11; unary-two: 12; unary-many: 12; unary-crazy: -15; }
|
7
7
|
|
8
8
|
#times { num-num: 7; num-col: #7496b8; col-num: #092345; col-col: #243648; }
|
9
9
|
|
data/test/sass/script_test.rb
CHANGED
@@ -31,6 +31,11 @@ class SassScriptTest < MiniTest::Test
|
|
31
31
|
assert_equal 0, Sass::Script::Value::Color.new([1, 2, 3, -0.1]).alpha
|
32
32
|
end
|
33
33
|
|
34
|
+
def test_color_from_hex
|
35
|
+
assert_equal Sass::Script::Value::Color.new([0,0,0]), Sass::Script::Value::Color.from_hex('000000')
|
36
|
+
assert_equal Sass::Script::Value::Color.new([0,0,0]), Sass::Script::Value::Color.from_hex('#000000')
|
37
|
+
end
|
38
|
+
|
34
39
|
def test_string_escapes
|
35
40
|
assert_equal "'", resolve("\"'\"")
|
36
41
|
assert_equal '"', resolve("\"\\\"\"")
|
@@ -471,6 +476,12 @@ SASS
|
|
471
476
|
DEPRECATION WARNING on line 1 of test_operator_unit_conversion_inline.sass:
|
472
477
|
The result of `1 == 1cm` will be `false` in future releases of Sass.
|
473
478
|
Unitless numbers will no longer be equal to the same numbers with units.
|
479
|
+
WARNING
|
480
|
+
|
481
|
+
assert_warning(<<WARNING) {assert_equal "false", resolve("1 != 1cm")}
|
482
|
+
DEPRECATION WARNING on line 1 of test_operator_unit_conversion_inline.sass:
|
483
|
+
The result of `1 != 1cm` will be `true` in future releases of Sass.
|
484
|
+
Unitless numbers will no longer be equal to the same numbers with units.
|
474
485
|
WARNING
|
475
486
|
end
|
476
487
|
|
@@ -552,7 +563,7 @@ WARNING
|
|
552
563
|
def test_case_insensitive_color_names
|
553
564
|
assert_equal "BLUE", resolve("BLUE")
|
554
565
|
assert_equal "rEd", resolve("rEd")
|
555
|
-
assert_equal "#
|
566
|
+
assert_equal "#804000", resolve("mix(GrEeN, ReD)")
|
556
567
|
end
|
557
568
|
|
558
569
|
def test_empty_list
|
data/test/sass/scss/css_test.rb
CHANGED
@@ -634,14 +634,14 @@ SCSS
|
|
634
634
|
|
635
635
|
def test_supports
|
636
636
|
assert_equal <<CSS, render(<<SCSS)
|
637
|
-
@supports (a: b) and (c: d) or (not (d: e)) and ((not (f: g)) or (not ((h: i) and (j: k)))) {
|
637
|
+
@supports (((a: b) and (c: d)) or (not (d: e))) and ((not (f: g)) or (not ((h: i) and (j: k)))) {
|
638
638
|
.foo {
|
639
639
|
a: b; } }
|
640
640
|
@supports (a: b) {
|
641
641
|
.foo {
|
642
642
|
a: b; } }
|
643
643
|
CSS
|
644
|
-
@supports (a: b) and (c: d) or (not (d: e)) and ((not (f: g)) or (not ((h: i) and (j: k)))) {
|
644
|
+
@supports (((a: b) and (c: d)) or (not (d: e))) and ((not (f: g)) or (not ((h: i) and (j: k)))) {
|
645
645
|
.foo {
|
646
646
|
a: b;
|
647
647
|
}
|
@@ -653,13 +653,38 @@ CSS
|
|
653
653
|
}
|
654
654
|
}
|
655
655
|
SCSS
|
656
|
+
end
|
656
657
|
|
658
|
+
def test_supports_with_prefix
|
657
659
|
assert_equal <<CSS, render(<<SCSS)
|
658
|
-
@-prefix-supports (a: b) and (c: d) or (not (d: e)) and ((not (f: g)) or (not ((h: i) and (j: k)))) {
|
660
|
+
@-prefix-supports (((a: b) and (c: d)) or (not (d: e))) and ((not (f: g)) or (not ((h: i) and (j: k)))) {
|
659
661
|
.foo {
|
660
662
|
a: b; } }
|
661
663
|
CSS
|
662
|
-
@-prefix-supports (a: b) and (c: d) or (not (d: e)) and ((not (f: g)) or (not ((h: i) and (j: k)))) {
|
664
|
+
@-prefix-supports (((a: b) and (c: d)) or (not (d: e))) and ((not (f: g)) or (not ((h: i) and (j: k)))) {
|
665
|
+
.foo {
|
666
|
+
a: b;
|
667
|
+
}
|
668
|
+
}
|
669
|
+
SCSS
|
670
|
+
end
|
671
|
+
|
672
|
+
def test_supports_allows_similar_operators_without_parens
|
673
|
+
assert_equal <<CSS, render(<<SCSS)
|
674
|
+
@supports (a: b) and (c: d) and (e: f) {
|
675
|
+
.foo {
|
676
|
+
a: b; } }
|
677
|
+
@supports (a: b) or (c: d) or (e: f) {
|
678
|
+
.foo {
|
679
|
+
a: b; } }
|
680
|
+
CSS
|
681
|
+
@supports (a: b) and (c: d) and (e: f) {
|
682
|
+
.foo {
|
683
|
+
a: b;
|
684
|
+
}
|
685
|
+
}
|
686
|
+
|
687
|
+
@supports (a: b) or (c: d) or (e: f) {
|
663
688
|
.foo {
|
664
689
|
a: b;
|
665
690
|
}
|
data/test/sass/scss/scss_test.rb
CHANGED
@@ -2296,14 +2296,14 @@ SCSS
|
|
2296
2296
|
|
2297
2297
|
def test_supports_with_expressions
|
2298
2298
|
assert_equal <<CSS, render(<<SCSS)
|
2299
|
-
@supports (feature1: val) and (feature2: val) or (not (feature23: val4)) {
|
2299
|
+
@supports ((feature1: val) and (feature2: val)) or (not (feature23: val4)) {
|
2300
2300
|
foo {
|
2301
2301
|
a: b; } }
|
2302
2302
|
CSS
|
2303
2303
|
$query: "(feature1: val)";
|
2304
2304
|
$feature: feature2;
|
2305
2305
|
$val: val;
|
2306
|
-
@supports \#{$query} and ($feature: $val) or (not ($feature + 3: $val + 4)) {
|
2306
|
+
@supports (\#{$query} and ($feature: $val)) or (not ($feature + 3: $val + 4)) {
|
2307
2307
|
foo {a: b}
|
2308
2308
|
}
|
2309
2309
|
SCSS
|
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.
|
4
|
+
version: 3.4.14
|
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: 2015-
|
13
|
+
date: 2015-05-23 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:
|
58
|
-
|
59
|
-
|
60
|
-
|
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
|
@@ -381,43 +380,43 @@ require_paths:
|
|
381
380
|
- lib
|
382
381
|
required_ruby_version: !ruby/object:Gem::Requirement
|
383
382
|
requirements:
|
384
|
-
- - '>='
|
383
|
+
- - ! '>='
|
385
384
|
- !ruby/object:Gem::Version
|
386
385
|
version: 1.8.7
|
387
386
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
388
387
|
requirements:
|
389
|
-
- - '>='
|
388
|
+
- - ! '>='
|
390
389
|
- !ruby/object:Gem::Version
|
391
390
|
version: '0'
|
392
391
|
requirements: []
|
393
392
|
rubyforge_project: sass
|
394
|
-
rubygems_version: 2.
|
393
|
+
rubygems_version: 2.4.3
|
395
394
|
signing_key:
|
396
395
|
specification_version: 4
|
397
396
|
summary: A powerful but elegant CSS compiler that makes CSS fun again.
|
398
397
|
test_files:
|
398
|
+
- test/sass/importer_test.rb
|
399
|
+
- test/sass/engine_test.rb
|
399
400
|
- test/sass/value_helpers_test.rb
|
400
|
-
- test/sass/conversion_test.rb
|
401
|
-
- test/sass/cache_test.rb
|
402
|
-
- test/sass/script_test.rb
|
403
401
|
- test/sass/superselector_test.rb
|
404
|
-
- 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
|
411
|
-
- test/sass/scss/css_test.rb
|
412
|
-
- test/sass/scss/scss_test.rb
|
413
402
|
- test/sass/logger_test.rb
|
414
|
-
- test/sass/
|
403
|
+
- test/sass/util_test.rb
|
404
|
+
- test/sass/cache_test.rb
|
415
405
|
- test/sass/encoding_test.rb
|
416
|
-
- test/sass/
|
417
|
-
- test/sass/
|
418
|
-
- test/sass/
|
406
|
+
- test/sass/source_map_test.rb
|
407
|
+
- test/sass/css2sass_test.rb
|
408
|
+
- test/sass/plugin_test.rb
|
409
|
+
- test/sass/conversion_test.rb
|
419
410
|
- test/sass/util/subset_map_test.rb
|
420
411
|
- test/sass/util/multibyte_string_scanner_test.rb
|
412
|
+
- test/sass/util/normalized_map_test.rb
|
413
|
+
- test/sass/exec_test.rb
|
414
|
+
- test/sass/scss/rx_test.rb
|
415
|
+
- test/sass/scss/scss_test.rb
|
416
|
+
- test/sass/scss/css_test.rb
|
417
|
+
- test/sass/callbacks_test.rb
|
421
418
|
- test/sass/functions_test.rb
|
419
|
+
- test/sass/extend_test.rb
|
420
|
+
- test/sass/script_conversion_test.rb
|
421
|
+
- test/sass/script_test.rb
|
422
422
|
- test/sass/compiler_test.rb
|
423
|
-
- test/sass/css2sass_test.rb
|