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 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}