sass 3.4.8 → 3.4.9
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 +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}
|