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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OTMwOWU4MTI1ZGY3NGJkZmRhNGQ1Yjc3YWM0NGZhZTBhNDhkYTI1MQ==
5
- data.tar.gz: !binary |-
6
- MDVmYTBlMDc2MTE4M2U2NmEwNDFjYjlmMTQzMTUzYzk5MjA3NGEwZg==
2
+ SHA1:
3
+ metadata.gz: 586156255d3623fed22e16cc8ddf44c6f50931af
4
+ data.tar.gz: 4660667253de7af141d348bb68e400801a8c167a
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MzlmZDNjMjg0NTJlMjZmOTk4YTU3Y2YwNjlhMTk0Njc0OGEwM2RhYjdjYTZh
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.8
1
+ 3.4.9
@@ -1 +1 @@
1
- 15 November 2014 00:58:58 UTC
1
+ 25 November 2014 01:40:45 UTC
@@ -399,7 +399,8 @@ module Sass::Plugin
399
399
 
400
400
  def listen_to(listener)
401
401
  if Sass::Util.listen_geq_2?
402
- listener.map {|l| l.start}.each {|thread| thread.join}
402
+ listener.map {|l| l.start}
403
+ sleep
403
404
  else
404
405
  listener.start!
405
406
  end
@@ -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 = parse_interpolated
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)
@@ -808,6 +808,8 @@ module Sass
808
808
  def almost_any_value_token
809
809
  tok(%r{
810
810
  (
811
+ \\.
812
+ |
811
813
  (?!url\()
812
814
  [^"'/\#!;\{\}] # "
813
815
  |
@@ -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}#{semi}" +
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
@@ -47,7 +47,11 @@ class CompilerTest < MiniTest::Test
47
47
 
48
48
  # used for Listen >= 2.0
49
49
  def start
50
- @thread = Thread.new {@run_during_start.call(self) if @run_during_start}
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
- assert_scss_to_sass "@media screen", "@media screen {}"
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
- assert_sass_to_scss <<SCSS, <<SASS
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
- SASS
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
- assert_sass_to_scss <<SCSS, <<SASS
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
- assert_sass_to_scss <<SCSS, <<SASS
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
- assert_scss_to_sass <<SASS, <<SCSS
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
- assert_scss_to_sass <<SASS, <<SCSS
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
- assert_scss_to_sass <<SASS, <<SCSS
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
- assert_scss_to_sass <<SASS, <<SCSS
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
- assert_scss_to_sass <<SASS, <<SCSS
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
- assert_scss_to_sass <<SASS, <<SCSS
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
- assert_scss_to_sass <<SASS, <<SCSS
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
- assert_scss_to_sass <<SASS, <<SCSS
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
- assert_scss_to_sass <<SASS, <<SCSS
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
- assert_scss_to_sass <<SASS, <<SCSS
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
- assert_scss_to_sass <<SASS, <<SCSS
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}'
@@ -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:
@@ -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, "\#{123}"
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 12, range.start_pos.offset
807
+ assert_equal 14, range.start_pos.offset
808
808
  assert_equal 3, range.end_pos.line
809
- assert_equal 18, range.end_pos.offset
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.8
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-15 00:00:00.000000000 Z
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: ! " 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"
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.4.3
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/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
403
+ - test/sass/superselector_test.rb
412
404
  - test/sass/callbacks_test.rb
413
- - test/sass/importer_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
414
411
  - test/sass/scss/css_test.rb
415
412
  - test/sass/scss/scss_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
413
+ - test/sass/logger_test.rb
414
+ - test/sass/importer_test.rb
420
415
  - test/sass/encoding_test.rb
421
- - test/sass/cache_test.rb
422
- - test/sass/source_map_test.rb
423
- - test/sass/plugin_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
@@ -1 +0,0 @@
1
- foo {a: x}