sass 3.4.16 → 3.4.17

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0dff26b06c7065753c46919a6edcabb5eba41d14
4
- data.tar.gz: 55acb3b26ba3d248bdf3e2e3e1c8263e41405faa
3
+ metadata.gz: 0a2ccebe7fb753327da211ef330b7544a13a46a9
4
+ data.tar.gz: 6eba53fa8eb3e220d5186cce58ac9a1bdf5bfab3
5
5
  SHA512:
6
- metadata.gz: 8d763cdfcb6c8b78626b39101f0d92cc48f2c038307f96de6929fcd5b51a3e7ec03f889e55b0dbb4cbfdfcd8848469476ad6950e9c41b40efd7f3bdefe36a31b
7
- data.tar.gz: a5e4c150a05613f1a40fc3b7f380e62aa4e693aadf674b6361fad3205b126ce39bd9912ac21965e70997ffe0f52c29c0261bece728e6d374ce8ad735f1b93205
6
+ metadata.gz: 977690d0a4056b464ced8677e2ae5d6e55b8c806fb5428371a92f6ad5bd20ba331124aed8eb49a87b0f4d41cdf0993b1eb24a8b24062b7f5384d45e2725fa4b6
7
+ data.tar.gz: 8ae528e829b69e0b2f6e361767e4dd8c0e4c7c788d735d69982664186d217055cd12386362563dda41db89cf5fecbcd2be5a467a1e90871c8d9e6f8332ce294b
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.4.16
1
+ 3.4.17
@@ -1 +1 @@
1
- 10 July 2015 23:22:27 UTC
1
+ 22 August 2015 00:33:15 UTC
@@ -630,6 +630,9 @@ module Sass::Script
630
630
  # @return [Sass::Script::Value::Color]
631
631
  # @raise [ArgumentError] if any parameter is the wrong type or out of bounds
632
632
  def rgb(red, green, blue)
633
+ if calc?(red) || calc?(green) || calc?(blue)
634
+ return unquoted_string("rgb(#{red}, #{green}, #{blue})")
635
+ end
633
636
  assert_type red, :Number, :red
634
637
  assert_type green, :Number, :green
635
638
  assert_type blue, :Number, :blue
@@ -688,13 +691,20 @@ module Sass::Script
688
691
  color, alpha = args
689
692
 
690
693
  assert_type color, :Color, :color
691
- assert_type alpha, :Number, :alpha
692
- check_alpha_unit alpha, 'rgba'
693
-
694
- color.with(:alpha => alpha.value)
694
+ if calc?(alpha)
695
+ unquoted_string("rgba(#{color.red}, #{color.green}, #{color.blue}, #{alpha})")
696
+ else
697
+ assert_type alpha, :Number, :alpha
698
+ check_alpha_unit alpha, 'rgba'
699
+ color.with(:alpha => alpha.value)
700
+ end
695
701
  when 4
696
702
  red, green, blue, alpha = args
697
- rgba(rgb(red, green, blue), alpha)
703
+ if calc?(red) || calc?(green) || calc?(blue) || calc?(alpha)
704
+ unquoted_string("rgba(#{red}, #{green}, #{blue}, #{alpha})")
705
+ else
706
+ rgba(rgb(red, green, blue), alpha)
707
+ end
698
708
  else
699
709
  raise ArgumentError.new("wrong number of arguments (#{args.size} for 4)")
700
710
  end
@@ -719,7 +729,11 @@ module Sass::Script
719
729
  # @raise [ArgumentError] if `$saturation` or `$lightness` are out of bounds
720
730
  # or any parameter is the wrong type
721
731
  def hsl(hue, saturation, lightness)
722
- hsla(hue, saturation, lightness, number(1))
732
+ if calc?(hue) || calc?(saturation) || calc?(lightness)
733
+ unquoted_string("hsl(#{hue}, #{saturation}, #{lightness})")
734
+ else
735
+ hsla(hue, saturation, lightness, number(1))
736
+ end
723
737
  end
724
738
  declare :hsl, [:hue, :saturation, :lightness]
725
739
 
@@ -743,6 +757,9 @@ module Sass::Script
743
757
  # @raise [ArgumentError] if `$saturation`, `$lightness`, or `$alpha` are out
744
758
  # of bounds or any parameter is the wrong type
745
759
  def hsla(hue, saturation, lightness, alpha)
760
+ if calc?(hue) || calc?(saturation) || calc?(lightness) || calc?(alpha)
761
+ return unquoted_string("hsla(#{hue}, #{saturation}, #{lightness}, #{alpha})")
762
+ end
746
763
  assert_type hue, :Number, :hue
747
764
  assert_type saturation, :Number, :saturation
748
765
  assert_type lightness, :Number, :lightness
@@ -308,6 +308,7 @@ RUBY
308
308
  end
309
309
  return list unless (e = interpolation)
310
310
  list.elements << e
311
+ list.source_range.end_pos = list.elements.last.source_range.end_pos
311
312
  end
312
313
  list
313
314
  end
@@ -507,15 +508,12 @@ RUBY
507
508
 
508
509
  def paren
509
510
  return variable unless try_tok(:lparen)
510
- was_in_parens = @in_parens
511
- @in_parens = true
512
511
  start_pos = source_position
513
512
  e = map
513
+ e.force_division! if e
514
514
  end_pos = source_position
515
515
  assert_tok(:rparen)
516
- return e || node(Sass::Script::Tree::ListLiteral.new([], nil), start_pos, end_pos)
517
- ensure
518
- @in_parens = was_in_parens
516
+ e || node(Sass::Script::Tree::ListLiteral.new([], nil), start_pos, end_pos)
519
517
  end
520
518
 
521
519
  def variable
@@ -540,7 +538,7 @@ RUBY
540
538
  tok = try_tok(:number)
541
539
  return selector unless tok
542
540
  num = tok.value
543
- num.original = num.to_s unless @in_parens
541
+ num.original = num.to_s
544
542
  literal_node(num, tok.source_range.start_pos)
545
543
  end
546
544
 
@@ -28,12 +28,8 @@ module Sass::Script::Tree
28
28
  # @see Value#to_sass
29
29
  def to_sass(opts = {})
30
30
  return "()" if elements.empty?
31
- precedence = Sass::Script::Parser.precedence_of(separator)
32
31
  members = elements.map do |v|
33
- if v.is_a?(ListLiteral) && Sass::Script::Parser.precedence_of(v.separator) <= precedence ||
34
- separator == :space && v.is_a?(UnaryOperation) &&
35
- (v.operator == :minus || v.operator == :plus) ||
36
- separator == :space && v.is_a?(Operation)
32
+ if element_needs_parens?(v)
37
33
  "(#{v.to_sass(opts)})"
38
34
  else
39
35
  v.to_sass(opts)
@@ -56,6 +52,10 @@ module Sass::Script::Tree
56
52
  "(#{elements.map {|e| e.inspect}.join(separator == :space ? ' ' : ', ')})"
57
53
  end
58
54
 
55
+ def force_division!
56
+ # Do nothing. Lists prevent division propagation.
57
+ end
58
+
59
59
  protected
60
60
 
61
61
  def _perform(environment)
@@ -69,6 +69,32 @@ module Sass::Script::Tree
69
69
 
70
70
  private
71
71
 
72
+ # Returns whether an element in the list should be wrapped in parentheses
73
+ # when serialized to Sass.
74
+ def element_needs_parens?(element)
75
+ if element.is_a?(ListLiteral)
76
+ return Sass::Script::Parser.precedence_of(element.separator) <=
77
+ Sass::Script::Parser.precedence_of(separator)
78
+ end
79
+
80
+ return false unless separator == :space
81
+
82
+ if element.is_a?(UnaryOperation)
83
+ return element.operator == :minus || element.operator == :plus
84
+ end
85
+
86
+ return false unless element.is_a?(Operation)
87
+ return true unless element.operator == :div
88
+ !(is_literal_number?(element.operand1) && is_literal_number?(element.operand2))
89
+ end
90
+
91
+ # Returns whether a value is a number literal that shouldn't be divided.
92
+ def is_literal_number?(value)
93
+ value.is_a?(Literal) &&
94
+ value.value.is_a?((Sass::Script::Value::Number)) &&
95
+ !value.value.original.nil?
96
+ end
97
+
72
98
  def sep_str(opts = options)
73
99
  return ' ' if separator == :space
74
100
  return ',' if opts && opts[:style] == :compressed
@@ -35,6 +35,10 @@ module Sass::Script::Tree
35
35
  value.inspect
36
36
  end
37
37
 
38
+ def force_division!
39
+ value.original = nil if value.is_a?(Sass::Script::Value::Number)
40
+ end
41
+
38
42
  protected
39
43
 
40
44
  def _perform(environment)
@@ -75,6 +75,12 @@ module Sass::Script::Tree
75
75
  Sass::Util.abstract(self)
76
76
  end
77
77
 
78
+ # Forces any division operations with number literals in this expression to
79
+ # do real division, rather than returning strings.
80
+ def force_division!
81
+ children.each {|c| c.force_division!}
82
+ end
83
+
78
84
  protected
79
85
 
80
86
  # Converts underscores to dashes if the :dasherize option is set.
@@ -598,11 +598,27 @@ module Sass::Script::Value
598
598
  "##{red}#{green}#{blue}"
599
599
  end
600
600
 
601
+ def operation_name(operation)
602
+ case operation
603
+ when :+
604
+ "add"
605
+ when :-
606
+ "subtract"
607
+ when :*
608
+ "multiply"
609
+ when :/
610
+ "divide"
611
+ when :%
612
+ "modulo"
613
+ end
614
+ end
615
+
601
616
  def piecewise(other, operation)
602
617
  other_num = other.is_a? Number
603
618
  if other_num && !other.unitless?
604
619
  raise Sass::SyntaxError.new(
605
- "Cannot add a number with units (#{other}) to a color (#{self}).")
620
+ "Cannot #{operation_name(operation)} a number with units (#{other}) to a color (#{self})."
621
+ )
606
622
  end
607
623
 
608
624
  result = []
@@ -194,6 +194,16 @@ module Sass::Script::Value
194
194
  raise ArgumentError.new(err)
195
195
  end
196
196
 
197
+ # Returns true when the literal is a string containing a calc()
198
+ #
199
+ # @param literal [Sass::Script::Value::Base] The value to check
200
+ # @return boolean
201
+ def calc?(literal)
202
+ if literal.is_a?(Sass::Script::Value::String)
203
+ literal.value =~ /calc\(/
204
+ end
205
+ end
206
+
197
207
  private
198
208
 
199
209
  # Converts a user-provided selector into string form or throws an
@@ -310,6 +310,7 @@ WARNING
310
310
  def visit_import(node)
311
311
  if (path = node.css_import?)
312
312
  resolved_node = Sass::Tree::CssImportNode.resolved("url(#{path})")
313
+ resolved_node.options = node.options
313
314
  resolved_node.source_range = node.source_range
314
315
  return resolved_node
315
316
  end
@@ -171,7 +171,11 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
171
171
  if !node.has_children || node.children.empty?
172
172
  output(tab_str)
173
173
  for_node(node) {output(node.resolved_value)}
174
- output(!node.has_children ? ";" : " {}")
174
+ if node.style == :compressed
175
+ output("{}") if node.has_children
176
+ else
177
+ output(node.has_children ? " {}" : ";")
178
+ end
175
179
  return
176
180
  end
177
181
 
@@ -181,18 +185,18 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
181
185
  output(node.style == :compressed ? "{" : " {")
182
186
  output(node.style == :compact ? ' ' : "\n") if node.style != :compressed
183
187
 
184
- was_prop = false
188
+ had_children = true
185
189
  first = true
186
190
  node.children.each do |child|
187
191
  next if child.invisible?
188
192
  if node.style == :compact
189
193
  if child.is_a?(Sass::Tree::PropNode)
190
- with_tabs(first || was_prop ? 0 : @tabs + 1) do
194
+ with_tabs(first || !had_children ? 0 : @tabs + 1) do
191
195
  visit(child)
192
196
  output(' ')
193
197
  end
194
198
  else
195
- if was_prop
199
+ unless had_children
196
200
  erase! 1
197
201
  output "\n"
198
202
  end
@@ -206,12 +210,12 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
206
210
  rstrip!
207
211
  output "\n"
208
212
  end
209
- was_prop = child.is_a?(Sass::Tree::PropNode)
213
+ had_children = child.has_children
210
214
  first = false
211
215
  elsif node.style == :compressed
212
- output(was_prop ? ";" : "")
216
+ output(had_children ? "" : ";")
213
217
  with_tabs(0) {visit(child)}
214
- was_prop = child.is_a?(Sass::Tree::PropNode)
218
+ had_children = child.has_children
215
219
  else
216
220
  with_tabs(@tabs + 1) {visit(child)}
217
221
  output "\n"
@@ -1296,6 +1296,16 @@ SASS
1296
1296
  foo {
1297
1297
  a: 1px / 2px;
1298
1298
  }
1299
+ SCSS
1300
+
1301
+ # Regression test for issue 1787
1302
+ assert_renders <<SASS, <<SCSS
1303
+ foo
1304
+ a: 1px / 2px 3px
1305
+ SASS
1306
+ foo {
1307
+ a: 1px / 2px 3px;
1308
+ }
1299
1309
  SCSS
1300
1310
  end
1301
1311
 
@@ -178,6 +178,8 @@ MSG
178
178
  "& foo\n bar: baz\n blat: bang" => ["Base-level rules cannot contain the parent-selector-referencing character '&'.", 1],
179
179
  "a\n b: c\n& foo\n bar: baz\n blat: bang" => ["Base-level rules cannot contain the parent-selector-referencing character '&'.", 3],
180
180
  "@" => "Invalid directive: '@'.",
181
+ "$r: 20em * #ccc" => ["Cannot multiply a number with units (20em) to a color (#ccc).", 1],
182
+ "$r: #ccc / 1em" => ["Cannot divide a number with units (1em) to a color (#ccc).", 1],
181
183
  }
182
184
 
183
185
  def teardown
@@ -3263,6 +3265,54 @@ CSS
3263
3265
  SASS
3264
3266
  end
3265
3267
 
3268
+ def test_compressed_unknown_directive
3269
+ assert_equal(<<CSS, render(<<SASS, :style => :compressed))
3270
+ x{@foo;a:b;@bar}
3271
+ CSS
3272
+ x
3273
+ @foo
3274
+ a: b
3275
+ @bar
3276
+ SASS
3277
+ end
3278
+
3279
+ def test_compressed_unknown_directive_in_directive
3280
+ assert_equal(<<CSS, render(<<SASS, :style => :compressed))
3281
+ @x{@foo;a:b;@bar}
3282
+ CSS
3283
+ @x
3284
+ @foo
3285
+ a: b
3286
+ @bar
3287
+ SASS
3288
+ end
3289
+
3290
+ def test_compressed_unknown_directive_with_children_in_directive
3291
+ assert_equal(<<CSS, render(<<SASS, :style => :compressed))
3292
+ @x{@foo{a:b}c:d;@bar{e:f}}
3293
+ CSS
3294
+ @x
3295
+ @foo
3296
+ a: b
3297
+ c: d
3298
+ @bar
3299
+ e: f
3300
+ SASS
3301
+ end
3302
+
3303
+ def test_compressed_rule_in_directive
3304
+ assert_equal(<<CSS, render(<<SASS, :style => :compressed))
3305
+ @x{foo{a:b}c:d;bar{e:f}}
3306
+ CSS
3307
+ @x
3308
+ foo
3309
+ a: b
3310
+ c: d
3311
+ bar
3312
+ e: f
3313
+ SASS
3314
+ end
3315
+
3266
3316
  private
3267
3317
 
3268
3318
  def assert_hash_has(hash, expected)
@@ -118,6 +118,33 @@ class SassScriptTest < MiniTest::Test
118
118
  assert_equal "rgba(10, 1, 0, 0.12346)", resolve("rgba(10.0, 1.23456789, 0.0, 0.1234567)")
119
119
  end
120
120
 
121
+ def test_rgb_calc
122
+ assert_equal "rgb(calc(255 - 5), 0, 0)", resolve("rgb(calc(255 - 5), 0, 0)")
123
+ end
124
+
125
+ def test_rgba_calc
126
+ assert_equal "rgba(calc(255 - 5), 0, 0, 0.1)",
127
+ resolve("rgba(calc(255 - 5), 0, 0, 0.1)")
128
+ assert_equal "rgba(127, 0, 0, calc(0.1 + 0.5))",
129
+ resolve("rgba(127, 0, 0, calc(0.1 + 0.5))")
130
+ end
131
+
132
+ def test_rgba_shorthand_calc
133
+ assert_equal "rgba(255, 0, 0, calc(0.1 + 0.5))",
134
+ resolve("rgba(red, calc(0.1 + 0.5))")
135
+ end
136
+
137
+ def test_hsl_calc
138
+ assert_equal "hsl(calc(360 * 5 / 6), 50%, 50%)", resolve("hsl(calc(360 * 5 / 6), 50%, 50%)")
139
+ end
140
+
141
+ def test_hsla_calc
142
+ assert_equal "hsla(calc(360 * 5 / 6), 50%, 50%, 0.1)",
143
+ resolve("hsla(calc(360 * 5 / 6), 50%, 50%, 0.1)")
144
+ assert_equal "hsla(270, 50%, 50%, calc(0.1 + 0.1))",
145
+ resolve("hsla(270, 50%, 50%, calc(0.1 + 0.1))")
146
+ end
147
+
121
148
  def test_compressed_colors
122
149
  assert_equal "#123456", resolve("#123456", :style => :compressed)
123
150
  assert_equal "rgba(1,2,3,0.5)", resolve("rgba(1, 2, 3, 0.5)", :style => :compressed)
@@ -547,6 +574,13 @@ WARNING
547
574
  assert_equal "0.5", resolve("$var", {}, env("var" => eval("1px/2px")))
548
575
  end
549
576
 
577
+ # Regression test for issue 1786.
578
+ def test_slash_division_within_list
579
+ assert_equal "1 1/2 1/2", resolve("(1 1/2 1/2)")
580
+ assert_equal "1/2 1/2", resolve("(1/2 1/2)")
581
+ assert_equal "1/2", resolve("(1/2,)")
582
+ end
583
+
550
584
  def test_non_ident_colors_with_wrong_number_of_digits
551
585
  assert_raise_message(Sass::SyntaxError,
552
586
  'Invalid CSS after "": expected expression (e.g. 1px, bold), was "#1"') {eval("#1")}
@@ -809,6 +809,17 @@ SCSS
809
809
  assert_equal 17, range.end_pos.offset
810
810
  end
811
811
 
812
+ def test_list_source_range
813
+ engine = Sass::Engine.new(<<-SCSS, :cache => false, :syntax => :scss)
814
+ @each $a, $b in (1, 2), (2, 4), (3, 6) { }
815
+ SCSS
816
+ list = engine.to_tree.children.first.list
817
+ assert_equal 1, list.source_range.start_pos.line
818
+ assert_equal 1, list.source_range.end_pos.line
819
+ assert_equal 16, list.source_range.start_pos.offset
820
+ assert_equal 38, list.source_range.end_pos.offset
821
+ end
822
+
812
823
  def test_sources_array_is_uri_escaped
813
824
  map = Sass::Source::Map.new
814
825
  importer = Sass::Importers::Filesystem.new('.')
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.16
4
+ version: 3.4.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Natalie Weizenbaum
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-07-10 00:00:00.000000000 Z
13
+ date: 2015-08-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: yard
@@ -67,47 +67,31 @@ executables:
67
67
  extensions: []
68
68
  extra_rdoc_files: []
69
69
  files:
70
- - .yardopts
71
- - CODE_OF_CONDUCT.md
72
- - CONTRIBUTING.md
73
- - MIT-LICENSE
74
- - README.md
75
- - REVISION
76
- - Rakefile
77
- - VERSION
78
- - VERSION_DATE
79
- - VERSION_NAME
80
- - bin/sass
81
- - bin/sass-convert
82
- - bin/scss
83
- - extra/update_watch.rb
84
- - init.rb
85
- - lib/sass.rb
86
- - lib/sass/cache_stores.rb
70
+ - rails/init.rb
87
71
  - lib/sass/cache_stores/base.rb
88
72
  - lib/sass/cache_stores/chain.rb
89
73
  - lib/sass/cache_stores/filesystem.rb
90
74
  - lib/sass/cache_stores/memory.rb
91
75
  - lib/sass/cache_stores/null.rb
76
+ - lib/sass/cache_stores.rb
92
77
  - lib/sass/callbacks.rb
93
78
  - lib/sass/css.rb
94
79
  - lib/sass/engine.rb
95
80
  - lib/sass/environment.rb
96
81
  - lib/sass/error.rb
97
- - lib/sass/exec.rb
98
82
  - lib/sass/exec/base.rb
99
83
  - lib/sass/exec/sass_convert.rb
100
84
  - lib/sass/exec/sass_scss.rb
85
+ - lib/sass/exec.rb
101
86
  - lib/sass/features.rb
102
- - lib/sass/importers.rb
103
87
  - lib/sass/importers/base.rb
104
88
  - lib/sass/importers/deprecated_path.rb
105
89
  - lib/sass/importers/filesystem.rb
106
- - lib/sass/logger.rb
90
+ - lib/sass/importers.rb
107
91
  - lib/sass/logger/base.rb
108
92
  - lib/sass/logger/log_level.rb
93
+ - lib/sass/logger.rb
109
94
  - lib/sass/media.rb
110
- - lib/sass/plugin.rb
111
95
  - lib/sass/plugin/compiler.rb
112
96
  - lib/sass/plugin/configuration.rb
113
97
  - lib/sass/plugin/generic.rb
@@ -115,16 +99,15 @@ files:
115
99
  - lib/sass/plugin/rack.rb
116
100
  - lib/sass/plugin/rails.rb
117
101
  - lib/sass/plugin/staleness_checker.rb
102
+ - lib/sass/plugin.rb
118
103
  - lib/sass/railtie.rb
119
104
  - lib/sass/repl.rb
120
105
  - lib/sass/root.rb
121
- - lib/sass/script.rb
122
106
  - lib/sass/script/css_lexer.rb
123
107
  - lib/sass/script/css_parser.rb
124
108
  - lib/sass/script/functions.rb
125
109
  - lib/sass/script/lexer.rb
126
110
  - lib/sass/script/parser.rb
127
- - lib/sass/script/tree.rb
128
111
  - lib/sass/script/tree/funcall.rb
129
112
  - lib/sass/script/tree/interpolation.rb
130
113
  - lib/sass/script/tree/list_literal.rb
@@ -136,7 +119,7 @@ files:
136
119
  - lib/sass/script/tree/string_interpolation.rb
137
120
  - lib/sass/script/tree/unary_operation.rb
138
121
  - lib/sass/script/tree/variable.rb
139
- - lib/sass/script/value.rb
122
+ - lib/sass/script/tree.rb
140
123
  - lib/sass/script/value/arg_list.rb
141
124
  - lib/sass/script/value/base.rb
142
125
  - lib/sass/script/value/bool.rb
@@ -147,20 +130,22 @@ files:
147
130
  - lib/sass/script/value/null.rb
148
131
  - lib/sass/script/value/number.rb
149
132
  - lib/sass/script/value/string.rb
150
- - lib/sass/scss.rb
133
+ - lib/sass/script/value.rb
134
+ - lib/sass/script.rb
151
135
  - lib/sass/scss/css_parser.rb
152
136
  - lib/sass/scss/parser.rb
153
137
  - lib/sass/scss/rx.rb
154
138
  - lib/sass/scss/script_lexer.rb
155
139
  - lib/sass/scss/script_parser.rb
156
140
  - lib/sass/scss/static_parser.rb
157
- - lib/sass/selector.rb
141
+ - lib/sass/scss.rb
158
142
  - lib/sass/selector/abstract_sequence.rb
159
143
  - lib/sass/selector/comma_sequence.rb
160
144
  - lib/sass/selector/pseudo.rb
161
145
  - lib/sass/selector/sequence.rb
162
146
  - lib/sass/selector/simple.rb
163
147
  - lib/sass/selector/simple_sequence.rb
148
+ - lib/sass/selector.rb
164
149
  - lib/sass/shared.rb
165
150
  - lib/sass/source/map.rb
166
151
  - lib/sass/source/position.rb
@@ -204,15 +189,54 @@ files:
204
189
  - lib/sass/tree/visitors/to_css.rb
205
190
  - lib/sass/tree/warn_node.rb
206
191
  - lib/sass/tree/while_node.rb
207
- - lib/sass/util.rb
208
192
  - lib/sass/util/cross_platform_random.rb
209
193
  - lib/sass/util/multibyte_string_scanner.rb
210
194
  - lib/sass/util/normalized_map.rb
211
195
  - lib/sass/util/ordered_hash.rb
212
196
  - lib/sass/util/subset_map.rb
213
197
  - lib/sass/util/test.rb
198
+ - lib/sass/util.rb
214
199
  - lib/sass/version.rb
215
- - rails/init.rb
200
+ - lib/sass.rb
201
+ - vendor/listen/CHANGELOG.md
202
+ - vendor/listen/CONTRIBUTING.md
203
+ - vendor/listen/Gemfile
204
+ - vendor/listen/Guardfile
205
+ - vendor/listen/lib/listen/adapter.rb
206
+ - vendor/listen/lib/listen/adapters/bsd.rb
207
+ - vendor/listen/lib/listen/adapters/darwin.rb
208
+ - vendor/listen/lib/listen/adapters/linux.rb
209
+ - vendor/listen/lib/listen/adapters/polling.rb
210
+ - vendor/listen/lib/listen/adapters/windows.rb
211
+ - vendor/listen/lib/listen/directory_record.rb
212
+ - vendor/listen/lib/listen/listener.rb
213
+ - vendor/listen/lib/listen/turnstile.rb
214
+ - vendor/listen/lib/listen/version.rb
215
+ - vendor/listen/lib/listen.rb
216
+ - vendor/listen/LICENSE
217
+ - vendor/listen/listen.gemspec
218
+ - vendor/listen/Rakefile
219
+ - vendor/listen/README.md
220
+ - vendor/listen/spec/listen/adapter_spec.rb
221
+ - vendor/listen/spec/listen/adapters/bsd_spec.rb
222
+ - vendor/listen/spec/listen/adapters/darwin_spec.rb
223
+ - vendor/listen/spec/listen/adapters/linux_spec.rb
224
+ - vendor/listen/spec/listen/adapters/polling_spec.rb
225
+ - vendor/listen/spec/listen/adapters/windows_spec.rb
226
+ - vendor/listen/spec/listen/directory_record_spec.rb
227
+ - vendor/listen/spec/listen/listener_spec.rb
228
+ - vendor/listen/spec/listen/turnstile_spec.rb
229
+ - vendor/listen/spec/listen_spec.rb
230
+ - vendor/listen/spec/spec_helper.rb
231
+ - vendor/listen/spec/support/adapter_helper.rb
232
+ - vendor/listen/spec/support/directory_record_helper.rb
233
+ - vendor/listen/spec/support/fixtures_helper.rb
234
+ - vendor/listen/spec/support/listeners_helper.rb
235
+ - vendor/listen/spec/support/platform_helper.rb
236
+ - vendor/listen/Vagrantfile
237
+ - bin/sass
238
+ - bin/sass-convert
239
+ - bin/scss
216
240
  - test/sass/cache_test.rb
217
241
  - test/sass/callbacks_test.rb
218
242
  - test/sass/compiler_test.rb
@@ -337,42 +361,18 @@ files:
337
361
  - test/sass/util_test.rb
338
362
  - test/sass/value_helpers_test.rb
339
363
  - test/test_helper.rb
340
- - vendor/listen/CHANGELOG.md
341
- - vendor/listen/CONTRIBUTING.md
342
- - vendor/listen/Gemfile
343
- - vendor/listen/Guardfile
344
- - vendor/listen/LICENSE
345
- - vendor/listen/README.md
346
- - vendor/listen/Rakefile
347
- - vendor/listen/Vagrantfile
348
- - vendor/listen/lib/listen.rb
349
- - vendor/listen/lib/listen/adapter.rb
350
- - vendor/listen/lib/listen/adapters/bsd.rb
351
- - vendor/listen/lib/listen/adapters/darwin.rb
352
- - vendor/listen/lib/listen/adapters/linux.rb
353
- - vendor/listen/lib/listen/adapters/polling.rb
354
- - vendor/listen/lib/listen/adapters/windows.rb
355
- - vendor/listen/lib/listen/directory_record.rb
356
- - vendor/listen/lib/listen/listener.rb
357
- - vendor/listen/lib/listen/turnstile.rb
358
- - vendor/listen/lib/listen/version.rb
359
- - vendor/listen/listen.gemspec
360
- - vendor/listen/spec/listen/adapter_spec.rb
361
- - vendor/listen/spec/listen/adapters/bsd_spec.rb
362
- - vendor/listen/spec/listen/adapters/darwin_spec.rb
363
- - vendor/listen/spec/listen/adapters/linux_spec.rb
364
- - vendor/listen/spec/listen/adapters/polling_spec.rb
365
- - vendor/listen/spec/listen/adapters/windows_spec.rb
366
- - vendor/listen/spec/listen/directory_record_spec.rb
367
- - vendor/listen/spec/listen/listener_spec.rb
368
- - vendor/listen/spec/listen/turnstile_spec.rb
369
- - vendor/listen/spec/listen_spec.rb
370
- - vendor/listen/spec/spec_helper.rb
371
- - vendor/listen/spec/support/adapter_helper.rb
372
- - vendor/listen/spec/support/directory_record_helper.rb
373
- - vendor/listen/spec/support/fixtures_helper.rb
374
- - vendor/listen/spec/support/listeners_helper.rb
375
- - vendor/listen/spec/support/platform_helper.rb
364
+ - extra/update_watch.rb
365
+ - Rakefile
366
+ - init.rb
367
+ - .yardopts
368
+ - CODE_OF_CONDUCT.md
369
+ - CONTRIBUTING.md
370
+ - MIT-LICENSE
371
+ - README.md
372
+ - REVISION
373
+ - VERSION
374
+ - VERSION_DATE
375
+ - VERSION_NAME
376
376
  homepage: http://sass-lang.com/
377
377
  licenses:
378
378
  - MIT
@@ -393,33 +393,33 @@ required_rubygems_version: !ruby/object:Gem::Requirement
393
393
  version: '0'
394
394
  requirements: []
395
395
  rubyforge_project: sass
396
- rubygems_version: 2.2.2
396
+ rubygems_version: 2.0.3
397
397
  signing_key:
398
398
  specification_version: 4
399
399
  summary: A powerful but elegant CSS compiler that makes CSS fun again.
400
400
  test_files:
401
- - test/sass/value_helpers_test.rb
402
- - test/sass/conversion_test.rb
403
401
  - test/sass/cache_test.rb
404
- - test/sass/script_test.rb
405
- - test/sass/superselector_test.rb
406
402
  - test/sass/callbacks_test.rb
407
- - test/sass/source_map_test.rb
408
- - test/sass/script_conversion_test.rb
409
- - test/sass/util_test.rb
410
- - test/sass/plugin_test.rb
411
- - test/sass/extend_test.rb
412
- - test/sass/scss/rx_test.rb
413
- - test/sass/scss/css_test.rb
414
- - test/sass/scss/scss_test.rb
415
- - test/sass/logger_test.rb
416
- - test/sass/importer_test.rb
403
+ - test/sass/compiler_test.rb
404
+ - test/sass/conversion_test.rb
405
+ - test/sass/css2sass_test.rb
417
406
  - test/sass/encoding_test.rb
418
407
  - test/sass/engine_test.rb
419
408
  - test/sass/exec_test.rb
409
+ - test/sass/extend_test.rb
410
+ - test/sass/functions_test.rb
411
+ - test/sass/importer_test.rb
412
+ - test/sass/logger_test.rb
413
+ - test/sass/plugin_test.rb
414
+ - test/sass/script_conversion_test.rb
415
+ - test/sass/script_test.rb
416
+ - test/sass/scss/css_test.rb
417
+ - test/sass/scss/rx_test.rb
418
+ - test/sass/scss/scss_test.rb
419
+ - test/sass/source_map_test.rb
420
+ - test/sass/superselector_test.rb
421
+ - test/sass/util/multibyte_string_scanner_test.rb
420
422
  - test/sass/util/normalized_map_test.rb
421
423
  - test/sass/util/subset_map_test.rb
422
- - test/sass/util/multibyte_string_scanner_test.rb
423
- - test/sass/functions_test.rb
424
- - test/sass/compiler_test.rb
425
- - test/sass/css2sass_test.rb
424
+ - test/sass/util_test.rb
425
+ - test/sass/value_helpers_test.rb