sass 3.2.0.alpha.61 → 3.2.0.alpha.62

Sign up to get free protection for your applications and to get access to all the features.
data/REVISION CHANGED
@@ -1 +1 @@
1
- f03f995506891014aea1df1a16672298469b3966
1
+ b646179a5713cbb2f2156c254e0add381c1d1824
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.0.alpha.61
1
+ 3.2.0.alpha.62
@@ -53,7 +53,6 @@ module Sass
53
53
  # @param key [String]
54
54
  # @return [String] The path to the cache file.
55
55
  def path_to(key)
56
- key = key.gsub(/[<>:\\|?*%]/) {|c| "%%%03d" % Sass::Util.ord(c)}
57
56
  File.join(cache_location, key)
58
57
  end
59
58
  end
@@ -224,7 +224,7 @@ module Sass
224
224
  # If you're compiling a single Sass file from the filesystem,
225
225
  # use \{Sass::Engine.for\_file}.
226
226
  # If you're compiling multiple files from the filesystem,
227
- # use {Sass::Plugin}.
227
+ # use {Sass::Plugin.
228
228
  #
229
229
  # @param template [String] The Sass template.
230
230
  # This template can be encoded using any encoding
@@ -36,7 +36,7 @@ module Sass
36
36
  # @return [String] A string representation of the function call
37
37
  def inspect
38
38
  args = @args.map {|a| a.inspect}.join(', ')
39
- keywords = Sass::Util.hash_to_a(@keywords).
39
+ keywords = @keywords.sort_by {|k, v| k}.
40
40
  map {|k, v| "$#{k}: #{v.inspect}"}.join(', ')
41
41
  "#{name}(#{args}#{', ' unless args.empty? || keywords.empty?}#{keywords})"
42
42
  end
@@ -44,7 +44,7 @@ module Sass
44
44
  # @see Node#to_sass
45
45
  def to_sass(opts = {})
46
46
  args = @args.map {|a| a.to_sass(opts)}.join(', ')
47
- keywords = Sass::Util.hash_to_a(@keywords).
47
+ keywords = @keywords.sort_by {|k, v| k}.
48
48
  map {|k, v| "$#{dasherize(k, opts)}: #{v.to_sass(opts)}"}.join(', ')
49
49
  "#{dasherize(name, opts)}(#{args}#{', ' unless args.empty? || keywords.empty?}#{keywords})"
50
50
  end
@@ -55,6 +55,26 @@ The #options attribute is not set on this #{self.class}.
55
55
  MSG
56
56
  end
57
57
 
58
+ # The SassScript `and` operation.
59
+ #
60
+ # @param other [Literal] The right-hand side of the operator
61
+ # @return [Literal] The result of a logical and:
62
+ # `other` if this literal isn't a false {Bool},
63
+ # and this literal otherwise
64
+ def and(other)
65
+ to_bool ? other : self
66
+ end
67
+
68
+ # The SassScript `or` operation.
69
+ #
70
+ # @param other [Literal] The right-hand side of the operator
71
+ # @return [Literal] The result of the logical or:
72
+ # this literal if it isn't a false {Bool},
73
+ # and `other` otherwise
74
+ def or(other)
75
+ to_bool ? self : other
76
+ end
77
+
58
78
  # The SassScript `==` operation.
59
79
  # **Note that this returns a {Sass::Script::Bool} object,
60
80
  # not a Ruby boolean**.
@@ -72,14 +72,6 @@ module Sass::Script
72
72
  # @raise [Sass::SyntaxError] if the operation is undefined for the operands
73
73
  def _perform(environment)
74
74
  literal1 = @operand1.perform(environment)
75
-
76
- # Special-case :and and :or to support short-circuiting.
77
- if @operator == :and
78
- return literal1.to_bool ? @operand2.perform(environment) : literal1
79
- elsif @operator == :or
80
- return literal1.to_bool ? literal1 : @operand2.perform(environment)
81
- end
82
-
83
75
  literal2 = @operand2.perform(environment)
84
76
 
85
77
  begin
@@ -379,7 +379,7 @@ module Sass
379
379
  attr_reader :selector
380
380
 
381
381
  # @param [String] The name of the pseudoclass
382
- # @param [Selector::CommaSequence] The selector argument
382
+ # @param [Selector::Sequence] The selector argument
383
383
  def initialize(name, selector)
384
384
  @name = name
385
385
  @selector = selector
@@ -124,15 +124,15 @@ module Sass
124
124
  # @param path [Array<Array<SimpleSequence or String>>] A list of parenthesized selector groups.
125
125
  # @return [Array<Array<SimpleSequence or String>>] A list of fully-expanded selectors.
126
126
  def weave(path)
127
- # This function works by moving through the selector path left-to-right,
128
- # building all possible prefixes simultaneously. These prefixes are
129
- # `befores`, while the remaining parenthesized suffixes is `afters`.
130
127
  befores = [[]]
131
128
  afters = path.dup
132
129
 
133
130
  until afters.empty?
134
131
  current = afters.shift.dup
135
132
  last_current = [current.pop]
133
+ while !current.empty? && last_current.first.is_a?(String) || current.last.is_a?(String)
134
+ last_current.unshift(current.pop)
135
+ end
136
136
  befores = Sass::Util.flatten(befores.map do |before|
137
137
  next [] unless sub = subweave(before, current)
138
138
  sub.map {|seqs| seqs + last_current}
@@ -150,12 +150,6 @@ module Sass
150
150
  # `.foo .baz .bar .bang`, `.foo .baz .bar.bang`, `.foo .baz .bang .bar`,
151
151
  # and so on until `.baz .bang .foo .bar`.
152
152
  #
153
- # Semantically, for selectors A and B, this returns all selectors `AB_i`
154
- # such that the union over all i of elements matched by `AB_i X` is
155
- # identical to the intersection of all elements matched by `A X` and all
156
- # elements matched by `B X`. Some `AB_i` are elided to reduce the size of
157
- # the output.
158
- #
159
153
  # @param seq1 [Array<SimpleSequence or String>]
160
154
  # @param seq2 [Array<SimpleSequence or String>]
161
155
  # @return [Array<Array<SimpleSequence or String>>]
@@ -163,34 +157,31 @@ module Sass
163
157
  return [seq2] if seq1.empty?
164
158
  return [seq1] if seq2.empty?
165
159
 
166
- seq1, seq2 = seq1.dup, seq2.dup
167
160
  return unless init = merge_initial_ops(seq1, seq2)
168
- return unless fin = merge_final_ops(seq1, seq2)
169
161
  seq1 = group_selectors(seq1)
170
162
  seq2 = group_selectors(seq2)
171
163
  lcs = Sass::Util.lcs(seq2, seq1) do |s1, s2|
172
164
  next s1 if s1 == s2
173
165
  next unless s1.first.is_a?(SimpleSequence) && s2.first.is_a?(SimpleSequence)
174
- next s2 if superselector?(s1, s2)
175
- next s1 if superselector?(s2, s1)
166
+ next s2 if subweave_superselector?(s1, s2)
167
+ next s1 if subweave_superselector?(s2, s1)
176
168
  end
177
169
 
178
170
  diff = [[init]]
179
171
  until lcs.empty?
180
- diff << chunks(seq1, seq2) {|s| superselector?(s.first, lcs.first)} << [lcs.shift]
172
+ diff << chunks(seq1, seq2) {|s| subweave_superselector?(s.first, lcs.first)} << [lcs.shift]
181
173
  seq1.shift
182
174
  seq2.shift
183
175
  end
184
176
  diff << chunks(seq1, seq2) {|s| s.empty?}
185
- diff += fin.map {|sel| sel.is_a?(Array) ? sel : [sel]}
186
177
  diff.reject! {|c| c.empty?}
187
178
 
188
179
  Sass::Util.paths(diff).map {|p| p.flatten}
189
180
  end
190
181
 
191
- # Extracts initial selector combinators (`"+"`, `">"`, `"~"`, and `"\n"`)
182
+ # Extracts initial selector operators (`"+"`, `">"`, `"~"`, and `"\n"`)
192
183
  # from two sequences and merges them together into a single array of
193
- # selector combinators.
184
+ # selector operators.
194
185
  #
195
186
  # @param seq1 [Array<SimpleSequence or String>]
196
187
  # @param seq2 [Array<SimpleSequence or String>]
@@ -213,100 +204,6 @@ module Sass
213
204
  return (newline ? ["\n"] : []) + (ops1.size > ops2.size ? ops1 : ops2)
214
205
  end
215
206
 
216
- # Extracts final selector combinators (`"+"`, `">"`, `"~"`) and the
217
- # selectors to which they apply from two sequences and merges them
218
- # together into a single array.
219
- #
220
- # @param seq1 [Array<SimpleSequence or String>]
221
- # @param seq2 [Array<SimpleSequence or String>]
222
- # @return [Array<SimpleSequence or String or
223
- # Array<Array<SimpleSequence or String>>]
224
- # If there are no trailing combinators to be merged, this will be the
225
- # empty array. If the trailing combinators cannot be merged, this will
226
- # be nil. Otherwise, this will contained the merged selector. Array
227
- # elements are [Sass::Util#paths]-style options; conceptually, an "or"
228
- # of multiple selectors.
229
- def merge_final_ops(seq1, seq2, res = [])
230
- ops1, ops2 = [], []
231
- ops1 << seq1.pop while seq1.last.is_a?(String)
232
- ops2 << seq2.pop while seq2.last.is_a?(String)
233
-
234
- # Not worth the headache of trying to preserve newlines here. The most
235
- # important use of newlines is at the beginning of the selector to wrap
236
- # across lines anyway.
237
- ops1.reject! {|o| o == "\n"}
238
- ops2.reject! {|o| o == "\n"}
239
-
240
- return res if ops1.empty? && ops2.empty?
241
- if ops1.size > 1 || ops2.size > 1
242
- # If there are multiple operators, something hacky's going on. If one
243
- # is a supersequence of the other, use that, otherwise give up.
244
- lcs = Sass::Util.lcs(ops1, ops2)
245
- return unless lcs == ops1 || lcs == ops2
246
- res.unshift *(ops1.size > ops2.size ? ops1 : ops2).reverse
247
- return res
248
- end
249
-
250
- # This code looks complicated, but it's actually just a bunch of special
251
- # cases for interactions between different combinators.
252
- op1, op2 = ops1.first, ops2.first
253
- if op1 && op2
254
- sel1 = seq1.pop
255
- sel2 = seq2.pop
256
- if op1 == '~' && op2 == '~'
257
- if superselector?([sel1], [sel2])
258
- res.unshift sel2, '~'
259
- elsif superselector?([sel2], [sel1])
260
- res.unshift sel1, '~'
261
- else
262
- merged = sel1.unify(sel2.members)
263
- res.unshift [
264
- [sel1, '~', sel2, '~'],
265
- [sel2, '~', sel1, '~'],
266
- ([merged, '~'] if merged)
267
- ].compact
268
- end
269
- elsif (op1 == '~' && op2 == '+') || (op1 == '+' && op2 == '~')
270
- if op1 == '~'
271
- tilde_sel, plus_sel = sel1, sel2
272
- else
273
- tilde_sel, plus_sel = sel2, sel1
274
- end
275
-
276
- if superselector?([tilde_sel], [plus_sel])
277
- res.unshift plus_sel, '+'
278
- else
279
- merged = plus_sel.unify(tilde_sel.members)
280
- res.unshift [
281
- [tilde_sel, '~', plus_sel, '+'],
282
- ([merged, '+'] if merged)
283
- ].compact
284
- end
285
- elsif op1 == '>' && %w[~ +].include?(op2)
286
- res.unshift sel2, op2
287
- seq1.push sel1, op1
288
- elsif op2 == '>' && %w[~ +].include?(op1)
289
- res.unshift sel1, op1
290
- seq2.push sel2, op2
291
- elsif op1 == op2
292
- return unless merged = sel1.unify(sel2.members)
293
- res.unshift merged, op1
294
- else
295
- # Unknown selector combinators can't be unified
296
- return
297
- end
298
- return merge_final_ops(seq1, seq2, res)
299
- elsif op1
300
- seq2.pop if op1 == '>' && seq2.last && superselector?([seq2.last], [seq1.last])
301
- res.unshift seq1.pop, op1
302
- return merge_final_ops(seq1, seq2, res)
303
- else # op2
304
- seq1.pop if op2 == '>' && seq1.last && superselector?([seq1.last], [seq2.last])
305
- res.unshift seq2.pop, op2
306
- return merge_final_ops(seq1, seq2, res)
307
- end
308
- end
309
-
310
207
  # Takes initial subsequences of `seq1` and `seq2` and returns all
311
208
  # orderings of those subsequences. The initial subsequences are determined
312
209
  # by a block.
@@ -326,7 +223,6 @@ module Sass
326
223
  # cutting off some initial subsequence.
327
224
  # @yieldreturn [Boolean] Whether or not to cut off the initial subsequence
328
225
  # here.
329
- # @return [Array<Array>] All possible orderings of the initial subsequences.
330
226
  def chunks(seq1, seq2)
331
227
  chunk1 = []
332
228
  chunk1 << seq1.shift until yield seq1
@@ -361,33 +257,25 @@ module Sass
361
257
  end
362
258
 
363
259
  # Given two sequences of simple selectors, returns whether `sseq1` is a
364
- # superselector of `sseq2`; that is, whether `sseq1` matches every element
365
- # `sseq2` matches.
366
- #
367
- # Both `sseq1` and `sseq2` are of the form
368
- # `SimpleSelector (String SimpleSelector)* String*`, although selectors
369
- # with a trailing operator are considered to be neither superselectors nor
370
- # subselectors.
260
+ # superselector of `sseq2`.
371
261
  #
372
- # @param sseq1 [Array<SimpleSequence or String>]
373
- # @param sseq2 [Array<SimpleSequence or String>]
262
+ # @param sseq1 [Array<SimpleSelector or String>]
263
+ # @param sseq2 [Array<SimpleSelector or String>]
374
264
  # @return [Boolean]
375
- def superselector?(sseq1, sseq2)
376
- sseq1 = sseq1.reject {|e| e == "\n"}
377
- sseq2 = sseq2.reject {|e| e == "\n"}
378
- # Selectors with trailing operators are neither superselectors nor
379
- # subselectors.
380
- return if sseq1.last.is_a?(String) || sseq2.last.is_a?(String)
265
+ def subweave_superselector?(sseq1, sseq2)
381
266
  if sseq1.size > 1
382
267
  # More complex selectors are never superselectors of less complex ones
383
268
  return unless sseq2.size > 1
384
269
  # .foo ~ .bar is a superselector of .foo + .bar
385
270
  return unless sseq1[1] == "~" ? sseq2[1] != ">" : sseq2[1] == sseq1[1]
386
271
  return unless sseq1.first.superselector?(sseq2.first)
387
- return superselector?(sseq1[2..-1], sseq2[2..-1])
272
+ return true if sseq1.size == 2
273
+ return false if sseq2.size == 2
274
+ return subweave_superselector?(sseq1[2..-1], sseq2[2..-1])
388
275
  elsif sseq2.size > 1
389
276
  return true if sseq2[1] == ">" && sseq1.first.superselector?(sseq2.first)
390
- return superselector?(sseq1, sseq2[2..-1])
277
+ return false if sseq2.size == 2
278
+ return subweave_superselector?(sseq1, sseq2[2..-1])
391
279
  else
392
280
  sseq1.first.superselector?(sseq2.first)
393
281
  end
@@ -168,8 +168,7 @@ class Sass::Tree::Visitors::Convert < Sass::Tree::Visitors::Base
168
168
  def visit_mixin(node)
169
169
  unless node.args.empty? && node.keywords.empty?
170
170
  args = node.args.map {|a| a.to_sass(@options)}.join(", ")
171
- keywords = Sass::Util.hash_to_a(node.keywords).
172
- map {|k, v| "$#{dasherize(k)}: #{v.to_sass(@options)}"}.join(', ')
171
+ keywords = node.keywords.map {|k, v| "$#{dasherize(k)}: #{v.to_sass(@options)}"}.join(', ')
173
172
  arglist = "(#{args}#{', ' unless args.empty? || keywords.empty?}#{keywords})"
174
173
  end
175
174
  "#{tab_str}#{@format == :sass ? '+' : '@include '}#{dasherize(node.name)}#{arglist}#{node.has_children ? yield : semi}\n"
@@ -52,27 +52,12 @@ class Sass::Tree::Visitors::Cssize < Sass::Tree::Visitors::Base
52
52
  def visit_root(node)
53
53
  yield
54
54
 
55
- if parent.nil?
56
- # In Ruby 1.9 we can make all @charset nodes invisible
57
- # and infer the final @charset from the encoding of the final string.
58
- if Sass::Util.ruby1_8?
59
- charset = node.children.find {|c| c.is_a?(Sass::Tree::CharsetNode)}
60
- node.children.reject! {|c| c.is_a?(Sass::Tree::CharsetNode)}
61
- node.children.unshift charset if charset
62
- end
63
-
64
- imports = Sass::Util.extract!(node.children) do |c|
65
- c.is_a?(Sass::Tree::DirectiveNode) && !c.is_a?(Sass::Tree::MediaNode) &&
66
- c.resolved_value =~ /^@import /i
67
- end
68
- charset_and_index = Sass::Util.ruby1_8? &&
69
- node.children.each_with_index.find {|c, _| c.is_a?(Sass::Tree::CharsetNode)}
70
- if charset_and_index
71
- index = charset_and_index.last
72
- node.children = node.children[0..index] + imports + node.children[index+1..-1]
73
- else
74
- node.children = imports + node.children
75
- end
55
+ # In Ruby 1.9 we can make all @charset nodes invisible
56
+ # and infer the final @charset from the encoding of the final string.
57
+ if Sass::Util.ruby1_8? && parent.nil?
58
+ charset = node.children.find {|c| c.is_a?(Sass::Tree::CharsetNode)}
59
+ node.children.reject! {|c| c.is_a?(Sass::Tree::CharsetNode)}
60
+ node.children.unshift charset if charset
76
61
  end
77
62
 
78
63
  return node, @extends
@@ -247,8 +247,6 @@ END
247
247
  # Runs SassScript interpolation in the selector,
248
248
  # and then parses the result into a {Sass::Selector::CommaSequence}.
249
249
  def visit_rule(node)
250
- rule = node.rule
251
- rule = rule.map {|e| e.is_a?(String) && e != ' ' ? e.strip : e} if node.style == :compressed
252
250
  parser = Sass::SCSS::StaticParser.new(run_interp(node.rule), node.filename, node.line)
253
251
  node.parsed_rules ||= parser.parse_selector
254
252
  if node.options[:trace_selectors]
@@ -67,10 +67,8 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
67
67
  end
68
68
 
69
69
  def visit_directive(node)
70
- was_in_directive = @in_directive
71
70
  return node.resolved_value + ";" unless node.has_children
72
71
  return node.resolved_value + " {}" if node.children.empty?
73
- @in_directive = @in_directive || !node.is_a?(Sass::Tree::MediaNode)
74
72
  result = if node.style == :compressed
75
73
  "#{node.resolved_value}{"
76
74
  else
@@ -103,8 +101,6 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
103
101
  else
104
102
  (node.style == :expanded ? "\n" : " ") + "}\n"
105
103
  end
106
- ensure
107
- @in_directive = was_in_directive
108
104
  end
109
105
 
110
106
  def visit_media(node)
@@ -137,11 +133,7 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
137
133
  joined_rules = node.resolved_rules.members.map do |seq|
138
134
  next if seq.has_placeholder?
139
135
  rule_part = seq.to_a.join
140
- if node.style == :compressed
141
- rule_part.gsub!(/([^,])\s*\n\s*/m, '\1 ')
142
- rule_part.gsub!(/\s*([,+>])\s*/m, '\1')
143
- rule_part.strip!
144
- end
136
+ rule_part.gsub!(/\s*([^,])\s*\n\s*/m, '\1 ') if node.style == :compressed
145
137
  rule_part
146
138
  end.compact.join(rule_separator)
147
139
 
@@ -153,7 +145,7 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
153
145
  old_spaces = ' ' * @tabs
154
146
  spaces = ' ' * (@tabs + 1)
155
147
  if node.style != :compressed
156
- if node.options[:debug_info] && !@in_directive
148
+ if node.options[:debug_info]
157
149
  to_return << visit(debug_info_rule(node.debug_info, node.options)) << "\n"
158
150
  elsif node.options[:trace_selectors]
159
151
  to_return << "#{old_spaces}/* "
@@ -199,7 +191,7 @@ class Sass::Tree::Visitors::ToCss < Sass::Tree::Visitors::Base
199
191
 
200
192
  def debug_info_rule(debug_info, options)
201
193
  node = Sass::Tree::DirectiveNode.resolved("@media -sass-debug-info")
202
- Sass::Util.hash_to_a(debug_info.map {|k, v| [k.to_s, v.to_s]}).each do |k, v|
194
+ debug_info.map {|k, v| [k.to_s, v.to_s]}.sort.each do |k, v|
203
195
  rule = Sass::Tree::RuleNode.new([""])
204
196
  rule.resolved_rules = Sass::Selector::CommaSequence.new(
205
197
  [Sass::Selector::Sequence.new(
@@ -218,20 +218,6 @@ module Sass
218
218
  lcs_backtrace(lcs_table(x, y, &block), x, y, x.size-1, y.size-1, &block)
219
219
  end
220
220
 
221
- # Converts a Hash to an Array. This is usually identical to `Hash#to_a`,
222
- # with the following exceptions:
223
- #
224
- # * In Ruby 1.8, `Hash#to_a` is not deterministically ordered, but this is.
225
- # * In Ruby 1.9 when running tests, this is ordered in the same way it would
226
- # be under Ruby 1.8 (sorted key order rather than insertion order).
227
- #
228
- # @param hash [Hash]
229
- # @return [Array]
230
- def hash_to_a(hash)
231
- return has.to_a unless ruby1_8? || defined?(Test::Unit)
232
- return hash.sort_by {|k, v| k}
233
- end
234
-
235
221
  # Returns information about the caller of the previous method.
236
222
  #
237
223
  # @param entry [String] An entry in the `#caller` list, or a similarly formatted string
@@ -575,24 +561,6 @@ MSG
575
561
  ruby1_8? ? enum.enum_slice(n) : enum.each_slice(n)
576
562
  end
577
563
 
578
- # Destructively removes all elements from an array that match a block, and
579
- # returns the removed elements.
580
- #
581
- # @param array [Array] The array from which to remove elements.
582
- # @yield [el] Called for each element.
583
- # @yieldparam el [*] The element to test.
584
- # @yieldreturn [Boolean] Whether or not to extract the element.
585
- # @return [Array] The extracted elements.
586
- def extract!(array)
587
- out = []
588
- array.reject! do |e|
589
- next false unless yield e
590
- out << e
591
- true
592
- end
593
- out
594
- end
595
-
596
564
  # Returns the ASCII code of the given character.
597
565
  #
598
566
  # @param c [String] All characters but the first are ignored.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # -*- coding: utf-8 -*-
3
- require File.dirname(__FILE__) + '/../test_helper'
4
- require File.dirname(__FILE__) + '/test_helper'
3
+ require 'test_helper'
4
+ require 'sass/test_helper'
5
5
  require 'sass/engine'
6
6
  require 'stringio'
7
7
  require 'mock_importer'
@@ -1028,23 +1028,6 @@ foo
1028
1028
  SASS
1029
1029
  end
1030
1030
 
1031
- def test_debug_info_in_keyframes
1032
- assert_equal(<<CSS, render(<<SASS, :debug_info => true))
1033
- @-webkit-keyframes warm {
1034
- from {
1035
- color: black; }
1036
-
1037
- to {
1038
- color: red; } }
1039
- CSS
1040
- @-webkit-keyframes warm
1041
- from
1042
- color: black
1043
- to
1044
- color: red
1045
- SASS
1046
- end
1047
-
1048
1031
  def test_empty_first_line
1049
1032
  assert_equal("#a {\n b: c; }\n", render("#a\n\n b: c"))
1050
1033
  end
@@ -2579,15 +2562,6 @@ CSS
2579
2562
  SASS
2580
2563
  end
2581
2564
 
2582
- def test_selector_compression
2583
- assert_equal <<CSS, render(<<SASS, :style => :compressed)
2584
- a>b,c+d,:-moz-any(e,f,g){h:i}
2585
- CSS
2586
- a > b, c + d, :-moz-any(e, f, g)
2587
- h: i
2588
- SASS
2589
- end
2590
-
2591
2565
  # Encodings
2592
2566
 
2593
2567
  unless Sass::Util.ruby1_8?
@@ -1165,70 +1165,6 @@ SCSS
1165
1165
  CSS
1166
1166
  .baz.foo {a: b}
1167
1167
  foo > bar {@extend .foo}
1168
- SCSS
1169
-
1170
- assert_equal <<CSS, render(<<SCSS)
1171
- .baz > .foo, .baz > .bar {
1172
- a: b; }
1173
- CSS
1174
- .baz > {
1175
- .foo {a: b}
1176
- .bar {@extend .foo}
1177
- }
1178
- SCSS
1179
-
1180
- assert_equal <<CSS, render(<<SCSS)
1181
- .foo .bar, .foo > .baz {
1182
- a: b; }
1183
- CSS
1184
- .foo {
1185
- .bar {a: b}
1186
- > .baz {@extend .bar}
1187
- }
1188
- SCSS
1189
-
1190
- assert_equal <<CSS, render(<<SCSS)
1191
- .foo .bar, .foo .bip > .baz {
1192
- a: b; }
1193
- CSS
1194
- .foo {
1195
- .bar {a: b}
1196
- .bip > .baz {@extend .bar}
1197
- }
1198
- SCSS
1199
-
1200
- assert_equal <<CSS, render(<<SCSS)
1201
- .foo .bip .bar, .foo .bip .foo > .baz {
1202
- a: b; }
1203
- CSS
1204
- .foo {
1205
- .bip .bar {a: b}
1206
- > .baz {@extend .bar}
1207
- }
1208
- SCSS
1209
-
1210
- assert_equal <<CSS, render(<<SCSS)
1211
- .foo > .bar, .foo > .bip + .baz {
1212
- a: b; }
1213
- CSS
1214
- .foo > .bar {a: b}
1215
- .bip + .baz {@extend .bar}
1216
- SCSS
1217
-
1218
- assert_equal <<CSS, render(<<SCSS)
1219
- .foo + .bar, .bip > .foo + .baz {
1220
- a: b; }
1221
- CSS
1222
- .foo + .bar {a: b}
1223
- .bip > .baz {@extend .bar}
1224
- SCSS
1225
-
1226
- assert_equal <<CSS, render(<<SCSS)
1227
- .foo > .bar, .bip.foo > .baz {
1228
- a: b; }
1229
- CSS
1230
- .foo > .bar {a: b}
1231
- .bip > .baz {@extend .bar}
1232
1168
  SCSS
1233
1169
  end
1234
1170
 
@@ -1250,7 +1186,7 @@ SCSS
1250
1186
 
1251
1187
  def test_nested_extender_with_hacky_selector
1252
1188
  assert_equal <<CSS, render(<<SCSS)
1253
- .baz .foo, .baz foo + > > + bar, foo .baz + > > + bar {
1189
+ .baz .foo, .baz foo + > > + bar {
1254
1190
  a: b; }
1255
1191
  CSS
1256
1192
  .baz .foo {a: b}
@@ -1258,7 +1194,7 @@ foo + > > + bar {@extend .foo}
1258
1194
  SCSS
1259
1195
 
1260
1196
  assert_equal <<CSS, render(<<SCSS)
1261
- .baz .foo, > > .baz bar {
1197
+ .baz .foo, .baz > > bar {
1262
1198
  a: b; }
1263
1199
  CSS
1264
1200
  .baz .foo {a: b}
@@ -1287,402 +1223,6 @@ CSS
1287
1223
  SCSS
1288
1224
  end
1289
1225
 
1290
- # Combinator Unification
1291
-
1292
- def test_combinator_unification_for_hacky_combinators
1293
- assert_equal <<CSS, render(<<SCSS)
1294
- .a > + x, .a .b > + y, .b .a > + y {
1295
- a: b; }
1296
- CSS
1297
- .a > + x {a: b}
1298
- .b y {@extend x}
1299
- SCSS
1300
-
1301
- assert_equal <<CSS, render(<<SCSS)
1302
- .a x, .a .b > + y, .b .a > + y {
1303
- a: b; }
1304
- CSS
1305
- .a x {a: b}
1306
- .b > + y {@extend x}
1307
- SCSS
1308
-
1309
- assert_equal <<CSS, render(<<SCSS)
1310
- .a > + x, .a .b > + y, .b .a > + y {
1311
- a: b; }
1312
- CSS
1313
- .a > + x {a: b}
1314
- .b > + y {@extend x}
1315
- SCSS
1316
-
1317
- assert_equal <<CSS, render(<<SCSS)
1318
- .a ~ > + x, .a .b ~ > + y, .b .a ~ > + y {
1319
- a: b; }
1320
- CSS
1321
- .a ~ > + x {a: b}
1322
- .b > + y {@extend x}
1323
- SCSS
1324
-
1325
- assert_equal <<CSS, render(<<SCSS)
1326
- .a + > x {
1327
- a: b; }
1328
- CSS
1329
- .a + > x {a: b}
1330
- .b > + y {@extend x}
1331
- SCSS
1332
-
1333
- assert_equal <<CSS, render(<<SCSS)
1334
- .a + > x {
1335
- a: b; }
1336
- CSS
1337
- .a + > x {a: b}
1338
- .b > + y {@extend x}
1339
- SCSS
1340
-
1341
- assert_equal <<CSS, render(<<SCSS)
1342
- .a ~ > + .b > x, .a .c ~ > + .d.b > y, .c .a ~ > + .d.b > y {
1343
- a: b; }
1344
- CSS
1345
- .a ~ > + .b > x {a: b}
1346
- .c > + .d > y {@extend x}
1347
- SCSS
1348
- end
1349
-
1350
- def test_combinator_unification_double_tilde
1351
- assert_equal <<CSS, render(<<SCSS)
1352
- .a.b ~ x, .a.b ~ y {
1353
- a: b; }
1354
- CSS
1355
- .a.b ~ x {a: b}
1356
- .a ~ y {@extend x}
1357
- SCSS
1358
-
1359
- assert_equal <<CSS, render(<<SCSS)
1360
- .a ~ x, .a.b ~ y {
1361
- a: b; }
1362
- CSS
1363
- .a ~ x {a: b}
1364
- .a.b ~ y {@extend x}
1365
- SCSS
1366
-
1367
- assert_equal <<CSS, render(<<SCSS)
1368
- .a ~ x, .a ~ .b ~ y, .b ~ .a ~ y, .b.a ~ y {
1369
- a: b; }
1370
- CSS
1371
- .a ~ x {a: b}
1372
- .b ~ y {@extend x}
1373
- SCSS
1374
-
1375
- assert_equal <<CSS, render(<<SCSS)
1376
- a.a ~ x, a.a ~ b.b ~ y, b.b ~ a.a ~ y {
1377
- a: b; }
1378
- CSS
1379
- a.a ~ x {a: b}
1380
- b.b ~ y {@extend x}
1381
- SCSS
1382
- end
1383
-
1384
- def test_combinator_unification_tilde_plus
1385
- assert_equal <<CSS, render(<<SCSS)
1386
- .a.b + x, .a.b + y {
1387
- a: b; }
1388
- CSS
1389
- .a.b + x {a: b}
1390
- .a ~ y {@extend x}
1391
- SCSS
1392
-
1393
- assert_equal <<CSS, render(<<SCSS)
1394
- .a + x, .a.b ~ .a + y, .a.b + y {
1395
- a: b; }
1396
- CSS
1397
- .a + x {a: b}
1398
- .a.b ~ y {@extend x}
1399
- SCSS
1400
-
1401
- assert_equal <<CSS, render(<<SCSS)
1402
- .a + x, .b ~ .a + y, .b.a + y {
1403
- a: b; }
1404
- CSS
1405
- .a + x {a: b}
1406
- .b ~ y {@extend x}
1407
- SCSS
1408
-
1409
- assert_equal <<CSS, render(<<SCSS)
1410
- a.a + x, b.b ~ a.a + y {
1411
- a: b; }
1412
- CSS
1413
- a.a + x {a: b}
1414
- b.b ~ y {@extend x}
1415
- SCSS
1416
-
1417
- assert_equal <<CSS, render(<<SCSS)
1418
- .a.b ~ x, .a.b ~ .a + y, .a.b + y {
1419
- a: b; }
1420
- CSS
1421
- .a.b ~ x {a: b}
1422
- .a + y {@extend x}
1423
- SCSS
1424
-
1425
- assert_equal <<CSS, render(<<SCSS)
1426
- .a ~ x, .a.b + y {
1427
- a: b; }
1428
- CSS
1429
- .a ~ x {a: b}
1430
- .a.b + y {@extend x}
1431
- SCSS
1432
-
1433
- assert_equal <<CSS, render(<<SCSS)
1434
- .a ~ x, .a ~ .b + y, .a.b + y {
1435
- a: b; }
1436
- CSS
1437
- .a ~ x {a: b}
1438
- .b + y {@extend x}
1439
- SCSS
1440
-
1441
- assert_equal <<CSS, render(<<SCSS)
1442
- a.a ~ x, a.a ~ b.b + y {
1443
- a: b; }
1444
- CSS
1445
- a.a ~ x {a: b}
1446
- b.b + y {@extend x}
1447
- SCSS
1448
- end
1449
-
1450
- def test_combinator_unification_angle_sibling
1451
- assert_equal <<CSS, render(<<SCSS)
1452
- .a > x, .a > .b ~ y {
1453
- a: b; }
1454
- CSS
1455
- .a > x {a: b}
1456
- .b ~ y {@extend x}
1457
- SCSS
1458
-
1459
- assert_equal <<CSS, render(<<SCSS)
1460
- .a > x, .a > .b + y {
1461
- a: b; }
1462
- CSS
1463
- .a > x {a: b}
1464
- .b + y {@extend x}
1465
- SCSS
1466
-
1467
- assert_equal <<CSS, render(<<SCSS)
1468
- .a ~ x, .b > .a ~ y {
1469
- a: b; }
1470
- CSS
1471
- .a ~ x {a: b}
1472
- .b > y {@extend x}
1473
- SCSS
1474
-
1475
- assert_equal <<CSS, render(<<SCSS)
1476
- .a + x, .b > .a + y {
1477
- a: b; }
1478
- CSS
1479
- .a + x {a: b}
1480
- .b > y {@extend x}
1481
- SCSS
1482
- end
1483
-
1484
- def test_combinator_unification_double_angle
1485
- assert_equal <<CSS, render(<<SCSS)
1486
- .a.b > x, .b.a > y {
1487
- a: b; }
1488
- CSS
1489
- .a.b > x {a: b}
1490
- .b > y {@extend x}
1491
- SCSS
1492
-
1493
- assert_equal <<CSS, render(<<SCSS)
1494
- .a > x, .a.b > y {
1495
- a: b; }
1496
- CSS
1497
- .a > x {a: b}
1498
- .a.b > y {@extend x}
1499
- SCSS
1500
-
1501
- assert_equal <<CSS, render(<<SCSS)
1502
- .a > x, .b.a > y {
1503
- a: b; }
1504
- CSS
1505
- .a > x {a: b}
1506
- .b > y {@extend x}
1507
- SCSS
1508
-
1509
- assert_equal <<CSS, render(<<SCSS)
1510
- a.a > x {
1511
- a: b; }
1512
- CSS
1513
- a.a > x {a: b}
1514
- b.b > y {@extend x}
1515
- SCSS
1516
- end
1517
-
1518
- def test_combinator_unification_double_plus
1519
- assert_equal <<CSS, render(<<SCSS)
1520
- .a.b + x, .b.a + y {
1521
- a: b; }
1522
- CSS
1523
- .a.b + x {a: b}
1524
- .b + y {@extend x}
1525
- SCSS
1526
-
1527
- assert_equal <<CSS, render(<<SCSS)
1528
- .a + x, .a.b + y {
1529
- a: b; }
1530
- CSS
1531
- .a + x {a: b}
1532
- .a.b + y {@extend x}
1533
- SCSS
1534
-
1535
- assert_equal <<CSS, render(<<SCSS)
1536
- .a + x, .b.a + y {
1537
- a: b; }
1538
- CSS
1539
- .a + x {a: b}
1540
- .b + y {@extend x}
1541
- SCSS
1542
-
1543
- assert_equal <<CSS, render(<<SCSS)
1544
- a.a + x {
1545
- a: b; }
1546
- CSS
1547
- a.a + x {a: b}
1548
- b.b + y {@extend x}
1549
- SCSS
1550
- end
1551
-
1552
- def test_combinator_unification_angle_space
1553
- assert_equal <<CSS, render(<<SCSS)
1554
- .a.b > x, .a.b > y {
1555
- a: b; }
1556
- CSS
1557
- .a.b > x {a: b}
1558
- .a y {@extend x}
1559
- SCSS
1560
-
1561
- assert_equal <<CSS, render(<<SCSS)
1562
- .a > x, .a.b .a > y {
1563
- a: b; }
1564
- CSS
1565
- .a > x {a: b}
1566
- .a.b y {@extend x}
1567
- SCSS
1568
-
1569
- assert_equal <<CSS, render(<<SCSS)
1570
- .a > x, .b .a > y {
1571
- a: b; }
1572
- CSS
1573
- .a > x {a: b}
1574
- .b y {@extend x}
1575
- SCSS
1576
-
1577
- assert_equal <<CSS, render(<<SCSS)
1578
- .a.b x, .a.b .a > y {
1579
- a: b; }
1580
- CSS
1581
- .a.b x {a: b}
1582
- .a > y {@extend x}
1583
- SCSS
1584
-
1585
- assert_equal <<CSS, render(<<SCSS)
1586
- .a x, .a.b > y {
1587
- a: b; }
1588
- CSS
1589
- .a x {a: b}
1590
- .a.b > y {@extend x}
1591
- SCSS
1592
-
1593
- assert_equal <<CSS, render(<<SCSS)
1594
- .a x, .a .b > y {
1595
- a: b; }
1596
- CSS
1597
- .a x {a: b}
1598
- .b > y {@extend x}
1599
- SCSS
1600
- end
1601
-
1602
- def test_combinator_unification_plus_space
1603
- assert_equal <<CSS, render(<<SCSS)
1604
- .a.b + x, .a .a.b + y {
1605
- a: b; }
1606
- CSS
1607
- .a.b + x {a: b}
1608
- .a y {@extend x}
1609
- SCSS
1610
-
1611
- assert_equal <<CSS, render(<<SCSS)
1612
- .a + x, .a.b .a + y {
1613
- a: b; }
1614
- CSS
1615
- .a + x {a: b}
1616
- .a.b y {@extend x}
1617
- SCSS
1618
-
1619
- assert_equal <<CSS, render(<<SCSS)
1620
- .a + x, .b .a + y {
1621
- a: b; }
1622
- CSS
1623
- .a + x {a: b}
1624
- .b y {@extend x}
1625
- SCSS
1626
-
1627
- assert_equal <<CSS, render(<<SCSS)
1628
- .a.b x, .a.b .a + y {
1629
- a: b; }
1630
- CSS
1631
- .a.b x {a: b}
1632
- .a + y {@extend x}
1633
- SCSS
1634
-
1635
- assert_equal <<CSS, render(<<SCSS)
1636
- .a x, .a .a.b + y {
1637
- a: b; }
1638
- CSS
1639
- .a x {a: b}
1640
- .a.b + y {@extend x}
1641
- SCSS
1642
-
1643
- assert_equal <<CSS, render(<<SCSS)
1644
- .a x, .a .b + y {
1645
- a: b; }
1646
- CSS
1647
- .a x {a: b}
1648
- .b + y {@extend x}
1649
- SCSS
1650
- end
1651
-
1652
- def test_combinator_unification_nested
1653
- assert_equal <<CSS, render(<<SCSS)
1654
- .a > .b + x, .c.a > .d.b + y {
1655
- a: b; }
1656
- CSS
1657
- .a > .b + x {a: b}
1658
- .c > .d + y {@extend x}
1659
- SCSS
1660
-
1661
- assert_equal <<CSS, render(<<SCSS)
1662
- .a > .b + x, .c.a > .b + y {
1663
- a: b; }
1664
- CSS
1665
- .a > .b + x {a: b}
1666
- .c > y {@extend x}
1667
- SCSS
1668
- end
1669
-
1670
- def test_combinator_unification_with_newlines
1671
- assert_equal <<CSS, render(<<SCSS)
1672
- .a >
1673
- .b
1674
- + x, .c.a > .d.b + y {
1675
- a: b; }
1676
- CSS
1677
- .a >
1678
- .b
1679
- + x {a: b}
1680
- .c
1681
- > .d +
1682
- y {@extend x}
1683
- SCSS
1684
- end
1685
-
1686
1226
  # Loops
1687
1227
 
1688
1228
  def test_extend_self_loop
@@ -1891,20 +1431,6 @@ SCSS
1891
1431
 
1892
1432
  # Regression Tests
1893
1433
 
1894
- def test_newline_near_combinator
1895
- assert_equal <<CSS, render(<<SCSS)
1896
- .a +
1897
- .b x, .a +
1898
- .b .c y, .c .a +
1899
- .b y {
1900
- a: b; }
1901
- CSS
1902
- .a +
1903
- .b x {a: b}
1904
- .c y {@extend x}
1905
- SCSS
1906
- end
1907
-
1908
1434
  def test_duplicated_selector_with_newlines
1909
1435
  assert_equal(<<CSS, render(<<SCSS))
1910
1436
  .example-1-1,
@@ -1,5 +1,3 @@
1
- @import url(basic.css);
2
- @import url(../results/complex.css);
3
1
  imported { otherconst: hello; myconst: goodbye; pre-mixin: here; }
4
2
 
5
3
  body { font: Arial; background: blue; }
@@ -24,6 +22,8 @@ body { font: Arial; background: blue; }
24
22
  #content.user.show #container.top #column.right { width: 600px; }
25
23
  #content.user.show #container.bottom { background: brown; }
26
24
 
25
+ @import url(basic.css);
26
+ @import url(../results/complex.css);
27
27
  #foo { background-color: #bbaaff; }
28
28
 
29
29
  nonimported { myconst: hello; otherconst: goodbye; post-mixin: here; }
@@ -1,5 +1,3 @@
1
- @import url(basic.css);
2
- @import url(../results/complex.css);
3
1
  imported { otherconst: hello; myconst: goodbye; pre-mixin: here; }
4
2
 
5
3
  body { font: Arial; background: blue; }
@@ -26,6 +24,8 @@ body { font: Arial; background: blue; }
26
24
  #content.user.show #container.top #column.right { width: 600px; }
27
25
  #content.user.show #container.bottom { background: brown; }
28
26
 
27
+ @import url(basic.css);
28
+ @import url(../results/complex.css);
29
29
  #foo { background-color: #bbaaff; }
30
30
 
31
31
  nonimported { myconst: hello; otherconst: goodbye; post-mixin: here; }
@@ -1,5 +1,4 @@
1
1
  @charset "UTF-8";
2
- @import url(foo.css);
3
2
  .foo { a: b; }
4
3
 
5
4
  .bar { a: щ; }
@@ -1,5 +1,4 @@
1
1
  @charset "IBM866";
2
- @import url(foo.css);
3
2
  .foo { a: b; }
4
3
 
5
4
  .bar { a: �; }
@@ -1,5 +1,4 @@
1
1
  @charset "IBM866";
2
- @import url(foo.css);
3
2
  .foo { a: b; }
4
3
 
5
4
  .bar { a: �; }
@@ -1,5 +1,3 @@
1
- @import url(basic.css);
2
- @import url(../results/complex.css);
3
1
  imported { otherconst: hello; myconst: goodbye; pre-mixin: here; }
4
2
 
5
3
  body { font: Arial; background: blue; }
@@ -26,6 +24,8 @@ body { font: Arial; background: blue; }
26
24
  #content.user.show #container.top #column.right { width: 600px; }
27
25
  #content.user.show #container.bottom { background: brown; }
28
26
 
27
+ @import url(basic.css);
28
+ @import url(../results/complex.css);
29
29
  #foo { background-color: #bbaaff; }
30
30
 
31
31
  nonimported { myconst: hello; otherconst: goodbye; post-mixin: here; }
@@ -432,11 +432,6 @@ SASS
432
432
  assert_raise_message(Sass::SyntaxError, "wrong number of arguments (1 for 0) for `arg-error'") {resolve("arg-error(1)")}
433
433
  end
434
434
 
435
- def test_boolean_ops_short_circuit
436
- assert_equal "false", resolve("$ie and $ie <= 7", {}, env('ie' => Sass::Script::Bool.new(false)))
437
- assert_equal "true", resolve("$ie or $undef", {}, env('ie' => Sass::Script::Bool.new(true)))
438
- end
439
-
440
435
  # Regression Tests
441
436
 
442
437
  def test_funcall_has_higher_precedence_than_color_name
@@ -1245,11 +1245,11 @@ SCSS
1245
1245
 
1246
1246
 
1247
1247
  def test_newlines_removed_from_selectors_when_compressed
1248
- assert_equal <<CSS, render(<<SCSS, :style => :compressed)
1248
+ assert_equal <<CSS, render(<<SCSS, :style=>:compressed)
1249
1249
  z a,z b{display:block}
1250
1250
  CSS
1251
- a
1252
- , b {
1251
+ a,
1252
+ b {
1253
1253
  z & {
1254
1254
  display: block;
1255
1255
  }
@@ -1,8 +1,6 @@
1
1
  .foo
2
2
  a: b
3
3
 
4
- @import "foo.css"
5
-
6
4
  // Even though the imported file is in IBM866,
7
5
  // since the root file is in UTF-8/ASCII
8
6
  // the output will end up being UTF-8.
@@ -1,6 +1,4 @@
1
1
  .foo
2
2
  a: b
3
3
 
4
- @import "foo.css"
5
-
6
4
  @import "imported_charset_ibm866"
@@ -3,8 +3,6 @@
3
3
  .foo
4
4
  a: b
5
5
 
6
- @import "foo.css"
7
-
8
6
  // Even though the imported file is in UTF-8,
9
7
  // since the root file is in IBM866
10
8
  // the output will end up being IBM866.
@@ -159,12 +159,6 @@ class UtilTest < Test::Unit::TestCase
159
159
  enum_cons(%w[foo bar baz], 2).map {|s1, s2| "#{s1}#{s2}"})
160
160
  end
161
161
 
162
- def test_extract
163
- arr = [1, 2, 3, 4, 5]
164
- assert_equal([1, 3, 5], extract!(arr) {|e| e % 2 == 1})
165
- assert_equal([2, 4], arr)
166
- end
167
-
168
162
  def test_ord
169
163
  assert_equal(102, ord("f"))
170
164
  assert_equal(98, ord("bar"))
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sass
3
3
  version: !ruby/object:Gem::Version
4
- hash: 592302951
4
+ hash: 592302945
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 3
8
8
  - 2
9
9
  - 0
10
10
  - alpha
11
- - 61
12
- version: 3.2.0.alpha.61
11
+ - 62
12
+ version: 3.2.0.alpha.62
13
13
  platform: ruby
14
14
  authors:
15
15
  - Nathan Weizenbaum
@@ -19,7 +19,7 @@ autorequire:
19
19
  bindir: bin
20
20
  cert_chain: []
21
21
 
22
- date: 2012-02-03 00:00:00 -05:00
22
+ date: 2012-01-22 00:00:00 -05:00
23
23
  default_executable:
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency
@@ -86,7 +86,7 @@ files:
86
86
  - lib/sass/logger.rb
87
87
  - lib/sass/logger/base.rb
88
88
  - lib/sass/logger/log_level.rb
89
- - lib/sass/util.rb
89
+ - lib/sass/media.rb
90
90
  - lib/sass/plugin.rb
91
91
  - lib/sass/plugin/compiler.rb
92
92
  - lib/sass/plugin/configuration.rb
@@ -163,7 +163,7 @@ files:
163
163
  - lib/sass/tree/warn_node.rb
164
164
  - lib/sass/tree/while_node.rb
165
165
  - lib/sass/tree/trace_node.rb
166
- - lib/sass/media.rb
166
+ - lib/sass/util.rb
167
167
  - lib/sass/util/multibyte_string_scanner.rb
168
168
  - lib/sass/util/subset_map.rb
169
169
  - lib/sass/version.rb
@@ -239,7 +239,7 @@ files:
239
239
  - test/sass/results/import_charset.css
240
240
  - test/sass/results/import_charset_1_8.css
241
241
  - test/sass/results/import_charset_ibm866.css
242
- - test/sass/results/scss_import.css
242
+ - test/sass/results/import_content.css
243
243
  - test/sass/results/line_numbers.css
244
244
  - test/sass/results/mixins.css
245
245
  - test/sass/results/multiline.css
@@ -247,13 +247,13 @@ files:
247
247
  - test/sass/results/options.css
248
248
  - test/sass/results/parent_ref.css
249
249
  - test/sass/results/script.css
250
+ - test/sass/results/scss_import.css
250
251
  - test/sass/results/scss_importee.css
251
252
  - test/sass/results/subdir/nested_subdir/nested_subdir.css
252
253
  - test/sass/results/subdir/subdir.css
253
254
  - test/sass/results/units.css
254
255
  - test/sass/results/warn.css
255
256
  - test/sass/results/warn_imported.css
256
- - test/sass/results/import_content.css
257
257
  - test/sass/script_conversion_test.rb
258
258
  - test/sass/script_test.rb
259
259
  - test/sass/scss/css_test.rb
@@ -262,7 +262,7 @@ files:
262
262
  - test/sass/scss/test_helper.rb
263
263
  - test/sass/templates/_imported_charset_ibm866.sass
264
264
  - test/sass/templates/_imported_charset_utf8.sass
265
- - test/sass/templates/import_charset.sass
265
+ - test/sass/templates/_imported_content.sass
266
266
  - test/sass/templates/_partial.sass
267
267
  - test/sass/templates/alt.sass
268
268
  - test/sass/templates/basic.sass
@@ -277,9 +277,10 @@ files:
277
277
  - test/sass/templates/expanded.sass
278
278
  - test/sass/templates/if.sass
279
279
  - test/sass/templates/import.sass
280
+ - test/sass/templates/import_charset.sass
280
281
  - test/sass/templates/import_charset_1_8.sass
281
282
  - test/sass/templates/import_charset_ibm866.sass
282
- - test/sass/templates/_imported_content.sass
283
+ - test/sass/templates/import_content.sass
283
284
  - test/sass/templates/importee.less
284
285
  - test/sass/templates/importee.sass
285
286
  - test/sass/templates/line_numbers.sass
@@ -305,7 +306,6 @@ files:
305
306
  - test/sass/templates/units.sass
306
307
  - test/sass/templates/warn.sass
307
308
  - test/sass/templates/warn_imported.sass
308
- - test/sass/templates/import_content.sass
309
309
  - test/sass/test_helper.rb
310
310
  - test/sass/util/multibyte_string_scanner_test.rb
311
311
  - test/sass/util/subset_map_test.rb