sass 3.4.8 → 3.4.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/lib/sass/plugin/compiler.rb +2 -1
- data/lib/sass/script/parser.rb +2 -1
- data/lib/sass/scss/parser.rb +2 -0
- data/lib/sass/tree/visitors/convert.rb +3 -3
- data/test/sass/compiler_test.rb +5 -1
- data/test/sass/conversion_test.rb +27 -46
- data/test/sass/script_conversion_test.rb +5 -0
- data/test/sass/scss/css_test.rb +6 -0
- data/test/sass/scss/scss_test.rb +7 -0
- data/test/sass/source_map_test.rb +3 -3
- metadata +34 -34
- data/test/foo.scss +0 -1
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MDVmYTBlMDc2MTE4M2U2NmEwNDFjYjlmMTQzMTUzYzk5MjA3NGEwZg==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 586156255d3623fed22e16cc8ddf44c6f50931af
|
4
|
+
data.tar.gz: 4660667253de7af141d348bb68e400801a8c167a
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
MzdhMjg5OTg1ZjVmZmY2OGY2OWVlN2E5MjcwZmU3OGQxMmU0ZWIwZjE0NDhk
|
11
|
-
MGQ1OWUwNGQ2NDU1OTIzMDA0YjAzZjhiMGNmM2JjZTZlMzUyYzU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZjNmNDJmYTBkOWUxMmU3ZDQzMDc0NzRhMWU1ZWZiMWY1MjM1YmEwZDkwMGZi
|
14
|
-
Nzg5MDFiZWY3NTFmMmU4M2ViY2M2NjUwZGQxNGZkZGI3ODlhNjRlYWE5NTRh
|
15
|
-
MjAwMzYzODkzZDA0NmIyM2EzMjVmNzA5M2Y5YzFkZTg1YTY4ZmM=
|
6
|
+
metadata.gz: b23a97f2c8142ddd09e624e8363fb69901a92e092ca1c645768b407c0be27e6fa74ed4d47a1b175fedcda42fed3e7ea0f15c54161b9e737f2bb39b1d4e71cc77
|
7
|
+
data.tar.gz: c2b58e2b9be2c58d95310a960d4d27d4834fe2d18f33eebbdafae9e348c35e6550dce359f4d608b571861b0ef0bba827b0017406fb79935e224b5be6d0c03b88
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.4.
|
1
|
+
3.4.9
|
data/VERSION_DATE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
25 November 2014 01:40:45 UTC
|
data/lib/sass/plugin/compiler.rb
CHANGED
data/lib/sass/script/parser.rb
CHANGED
@@ -498,7 +498,8 @@ RUBY
|
|
498
498
|
return paren unless first
|
499
499
|
str = literal_node(first.value, first.source_range)
|
500
500
|
return str unless try_tok(:string_interpolation)
|
501
|
-
mid =
|
501
|
+
mid = assert_expr :expr
|
502
|
+
assert_tok :end_interpolation
|
502
503
|
last = assert_expr(:special_fun)
|
503
504
|
node(Tree::Interpolation.new(str, mid, last, false, false),
|
504
505
|
first.source_range.start_pos)
|
data/lib/sass/scss/parser.rb
CHANGED
@@ -113,8 +113,8 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
113
113
|
end
|
114
114
|
|
115
115
|
def visit_extend(node)
|
116
|
-
"#{tab_str}@extend #{selector_to_src(node.selector).lstrip}
|
117
|
-
"#{" !optional" if node.optional?}\n"
|
116
|
+
"#{tab_str}@extend #{selector_to_src(node.selector).lstrip}" +
|
117
|
+
"#{" !optional" if node.optional?}#{semi}\n"
|
118
118
|
end
|
119
119
|
|
120
120
|
def visit_for(node)
|
@@ -274,7 +274,7 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
|
|
274
274
|
"#{tab_str}@at-root #{query_interp_to_src(node.query)}#{yield}"
|
275
275
|
elsif node.children.length == 1 && node.children.first.is_a?(Sass::Tree::RuleNode)
|
276
276
|
rule = node.children.first
|
277
|
-
"#{tab_str}@at-root #{selector_to_src(rule.rule)}#{visit_children(rule)}"
|
277
|
+
"#{tab_str}@at-root #{selector_to_src(rule.rule).lstrip}#{visit_children(rule)}"
|
278
278
|
else
|
279
279
|
"#{tab_str}@at-root#{yield}"
|
280
280
|
end
|
data/test/sass/compiler_test.rb
CHANGED
@@ -47,7 +47,11 @@ class CompilerTest < MiniTest::Test
|
|
47
47
|
|
48
48
|
# used for Listen >= 2.0
|
49
49
|
def start
|
50
|
-
|
50
|
+
parent = Thread.current
|
51
|
+
@thread = Thread.new do
|
52
|
+
@run_during_start.call(self) if @run_during_start
|
53
|
+
parent.raise Interrupt
|
54
|
+
end
|
51
55
|
end
|
52
56
|
|
53
57
|
def stop
|
@@ -30,8 +30,7 @@ SCSS
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def test_empty_directive
|
33
|
-
|
34
|
-
assert_scss_to_scss "@media screen {}"
|
33
|
+
assert_renders "@media screen", "@media screen {}"
|
35
34
|
end
|
36
35
|
|
37
36
|
def test_empty_control_directive
|
@@ -287,24 +286,24 @@ foo bar {
|
|
287
286
|
}
|
288
287
|
SCSS
|
289
288
|
|
290
|
-
|
289
|
+
assert_renders <<SASS, <<SCSS
|
291
290
|
// foo
|
292
291
|
// bar
|
293
292
|
// baz
|
294
293
|
// bang
|
295
294
|
|
296
|
-
foo bar
|
297
|
-
a: b
|
298
|
-
|
299
|
-
SCSS
|
295
|
+
foo bar
|
296
|
+
a: b
|
297
|
+
SASS
|
300
298
|
// foo
|
301
299
|
// bar
|
302
300
|
// baz
|
303
301
|
// bang
|
304
302
|
|
305
|
-
foo bar
|
306
|
-
a: b
|
307
|
-
|
303
|
+
foo bar {
|
304
|
+
a: b;
|
305
|
+
}
|
306
|
+
SCSS
|
308
307
|
end
|
309
308
|
|
310
309
|
def test_nested_silent_comments
|
@@ -1275,26 +1274,7 @@ SCSS
|
|
1275
1274
|
end
|
1276
1275
|
|
1277
1276
|
def test_media_with_expressions
|
1278
|
-
|
1279
|
-
$media1: screen;
|
1280
|
-
$media2: print;
|
1281
|
-
$var: -webkit-min-device-pixel-ratio;
|
1282
|
-
$val: 20;
|
1283
|
-
|
1284
|
-
@media \#{$media1} and ($var + "-foo": $val + 5), only \#{$media2} {
|
1285
|
-
a: b;
|
1286
|
-
}
|
1287
|
-
SCSS
|
1288
|
-
$media1: screen
|
1289
|
-
$media2: print
|
1290
|
-
$var: -webkit-min-device-pixel-ratio
|
1291
|
-
$val: 20
|
1292
|
-
|
1293
|
-
@media \#{$media1} and ($var + "-foo": $val + 5), only \#{$media2}
|
1294
|
-
a: b
|
1295
|
-
SASS
|
1296
|
-
|
1297
|
-
assert_scss_to_sass <<SASS, <<SCSS
|
1277
|
+
assert_renders <<SASS, <<SCSS
|
1298
1278
|
$media1: screen
|
1299
1279
|
$media2: print
|
1300
1280
|
$var: -webkit-min-device-pixel-ratio
|
@@ -1315,14 +1295,14 @@ SCSS
|
|
1315
1295
|
end
|
1316
1296
|
|
1317
1297
|
def test_media_with_feature
|
1318
|
-
|
1298
|
+
assert_renders <<SASS, <<SCSS
|
1299
|
+
@media screen and (-webkit-transform-3d)
|
1300
|
+
a: b
|
1301
|
+
SASS
|
1319
1302
|
@media screen and (-webkit-transform-3d) {
|
1320
1303
|
a: b;
|
1321
1304
|
}
|
1322
1305
|
SCSS
|
1323
|
-
@media screen and (-webkit-transform-3d)
|
1324
|
-
a: b
|
1325
|
-
SASS
|
1326
1306
|
end
|
1327
1307
|
|
1328
1308
|
def test_supports_with_expressions
|
@@ -1678,7 +1658,7 @@ SCSS
|
|
1678
1658
|
end
|
1679
1659
|
|
1680
1660
|
def test_extend_with_optional
|
1681
|
-
|
1661
|
+
assert_renders <<SASS, <<SCSS
|
1682
1662
|
foo
|
1683
1663
|
@extend .bar !optional
|
1684
1664
|
SASS
|
@@ -1689,7 +1669,7 @@ SCSS
|
|
1689
1669
|
end
|
1690
1670
|
|
1691
1671
|
def test_mixin_var_args
|
1692
|
-
|
1672
|
+
assert_renders <<SASS, <<SCSS
|
1693
1673
|
=foo($args...)
|
1694
1674
|
a: b
|
1695
1675
|
|
@@ -1716,7 +1696,7 @@ SCSS
|
|
1716
1696
|
end
|
1717
1697
|
|
1718
1698
|
def test_mixin_var_kwargs
|
1719
|
-
|
1699
|
+
assert_renders <<SASS, <<SCSS
|
1720
1700
|
=foo($a: b, $c: d)
|
1721
1701
|
a: $a
|
1722
1702
|
c: $c
|
@@ -1738,7 +1718,7 @@ SCSS
|
|
1738
1718
|
end
|
1739
1719
|
|
1740
1720
|
def test_function_var_args
|
1741
|
-
|
1721
|
+
assert_renders <<SASS, <<SCSS
|
1742
1722
|
@function foo($args...)
|
1743
1723
|
@return foo
|
1744
1724
|
|
@@ -1765,7 +1745,7 @@ SCSS
|
|
1765
1745
|
end
|
1766
1746
|
|
1767
1747
|
def test_function_var_kwargs
|
1768
|
-
|
1748
|
+
assert_renders <<SASS, <<SCSS
|
1769
1749
|
@function foo($a: b, $c: d)
|
1770
1750
|
@return foo
|
1771
1751
|
|
@@ -1785,7 +1765,7 @@ SCSS
|
|
1785
1765
|
end
|
1786
1766
|
|
1787
1767
|
def test_at_root
|
1788
|
-
|
1768
|
+
assert_renders <<SASS, <<SCSS
|
1789
1769
|
.foo
|
1790
1770
|
@at-root
|
1791
1771
|
.bar
|
@@ -1807,7 +1787,7 @@ SCSS
|
|
1807
1787
|
end
|
1808
1788
|
|
1809
1789
|
def test_at_root_with_selector
|
1810
|
-
|
1790
|
+
assert_renders <<SASS, <<SCSS
|
1811
1791
|
.foo
|
1812
1792
|
@at-root .bar
|
1813
1793
|
a: b
|
@@ -1821,7 +1801,7 @@ SCSS
|
|
1821
1801
|
end
|
1822
1802
|
|
1823
1803
|
def test_at_root_without
|
1824
|
-
|
1804
|
+
assert_renders <<SASS, <<SCSS
|
1825
1805
|
.foo
|
1826
1806
|
@at-root (without: media rule)
|
1827
1807
|
a: b
|
@@ -1835,7 +1815,7 @@ SCSS
|
|
1835
1815
|
end
|
1836
1816
|
|
1837
1817
|
def test_at_root_with
|
1838
|
-
|
1818
|
+
assert_renders <<SASS, <<SCSS
|
1839
1819
|
.foo
|
1840
1820
|
@at-root (with: media rule)
|
1841
1821
|
a: b
|
@@ -1849,7 +1829,7 @@ SCSS
|
|
1849
1829
|
end
|
1850
1830
|
|
1851
1831
|
def test_function_var_kwargs_with_list
|
1852
|
-
|
1832
|
+
assert_renders <<SASS, <<SCSS
|
1853
1833
|
@function foo($a: b, $c: d)
|
1854
1834
|
@return $a, $c
|
1855
1835
|
|
@@ -1918,12 +1898,13 @@ SCSS
|
|
1918
1898
|
end
|
1919
1899
|
|
1920
1900
|
def test_media_query_with_expr
|
1921
|
-
|
1901
|
+
assert_renders <<SASS, <<SCSS
|
1922
1902
|
@media foo and (bar: baz)
|
1923
1903
|
a: b
|
1924
1904
|
SASS
|
1925
1905
|
@media foo and (bar: baz) {
|
1926
|
-
a: b;
|
1906
|
+
a: b;
|
1907
|
+
}
|
1927
1908
|
SCSS
|
1928
1909
|
end
|
1929
1910
|
|
@@ -261,6 +261,11 @@ RUBY
|
|
261
261
|
assert_renders 'flabnabbit($foo #{1 + "foo"}#{2 + "bar"} $baz)'
|
262
262
|
end
|
263
263
|
|
264
|
+
def test_interpolation_in_string_function
|
265
|
+
assert_renders 'calc(#{1 + "foo"})'
|
266
|
+
assert_renders 'calc(foo#{1 + "foo"}baz)'
|
267
|
+
end
|
268
|
+
|
264
269
|
def test_interpolation_near_operators
|
265
270
|
assert_renders '#{1 + 2} , #{3 + 4}'
|
266
271
|
assert_renders '#{1 + 2}, #{3 + 4}'
|
data/test/sass/scss/css_test.rb
CHANGED
@@ -1013,6 +1013,12 @@ SCSS
|
|
1013
1013
|
assert_equal "E + F {\n a: b; }\n", render("E+F { a: b;} ")
|
1014
1014
|
end
|
1015
1015
|
|
1016
|
+
def test_escapes_in_selectors
|
1017
|
+
assert_selector_parses('.\!foo')
|
1018
|
+
assert_selector_parses('.\66 foo')
|
1019
|
+
assert_selector_parses('.\21 foo')
|
1020
|
+
end
|
1021
|
+
|
1016
1022
|
def test_subject_selector_deprecation
|
1017
1023
|
assert_warning(<<WARNING) {render(".foo .bar! .baz {a: b}")}
|
1018
1024
|
DEPRECATION WARNING on line 1, column 1:
|
data/test/sass/scss/scss_test.rb
CHANGED
@@ -3570,6 +3570,13 @@ SCSS
|
|
3570
3570
|
|
3571
3571
|
# Regression
|
3572
3572
|
|
3573
|
+
def test_escape_in_selector
|
3574
|
+
assert_equal(<<CSS, render(".\\!foo {a: b}"))
|
3575
|
+
.\\!foo {
|
3576
|
+
a: b; }
|
3577
|
+
CSS
|
3578
|
+
end
|
3579
|
+
|
3573
3580
|
def test_for_directive_with_float_bounds
|
3574
3581
|
assert_equal(<<CSS, render(<<SCSS))
|
3575
3582
|
.a {
|
@@ -801,12 +801,12 @@ SCSS
|
|
801
801
|
interpolated = engine.to_tree.children.
|
802
802
|
first.children.
|
803
803
|
first.value.children[1]
|
804
|
-
assert_equal interpolated.to_sass
|
804
|
+
assert_equal "123", interpolated.to_sass
|
805
805
|
range = interpolated.source_range
|
806
806
|
assert_equal 3, range.start_pos.line
|
807
|
-
assert_equal
|
807
|
+
assert_equal 14, range.start_pos.offset
|
808
808
|
assert_equal 3, range.end_pos.line
|
809
|
-
assert_equal
|
809
|
+
assert_equal 17, range.end_pos.offset
|
810
810
|
end
|
811
811
|
|
812
812
|
def test_sources_array_is_uri_escaped
|
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.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Natalie Weizenbaum
|
@@ -10,54 +10,55 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-11-
|
13
|
+
date: 2014-11-25 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
|
-
|
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.
|
61
62
|
email: sass-lang@googlegroups.com
|
62
63
|
executables:
|
63
64
|
- sass
|
@@ -210,7 +211,6 @@ files:
|
|
210
211
|
- lib/sass/util/test.rb
|
211
212
|
- lib/sass/version.rb
|
212
213
|
- 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.
|
394
|
+
rubygems_version: 2.2.2
|
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
|
401
399
|
- 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
|
406
400
|
- test/sass/conversion_test.rb
|
401
|
+
- test/sass/cache_test.rb
|
407
402
|
- test/sass/script_test.rb
|
408
|
-
- test/sass/
|
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
|
403
|
+
- test/sass/superselector_test.rb
|
412
404
|
- test/sass/callbacks_test.rb
|
413
|
-
- test/sass/
|
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
|
414
411
|
- test/sass/scss/css_test.rb
|
415
412
|
- test/sass/scss/scss_test.rb
|
416
|
-
- test/sass/
|
417
|
-
- test/sass/
|
418
|
-
- test/sass/script_conversion_test.rb
|
419
|
-
- test/sass/superselector_test.rb
|
413
|
+
- test/sass/logger_test.rb
|
414
|
+
- test/sass/importer_test.rb
|
420
415
|
- test/sass/encoding_test.rb
|
421
|
-
- test/sass/
|
422
|
-
- test/sass/
|
423
|
-
- test/sass/
|
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
|
data/test/foo.scss
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
foo {a: x}
|