Hello community,

here is the log from the commit of package rubygem-sass for openSUSE:Factory 
checked in at 2015-08-27 08:57:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-sass (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-sass.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-sass"

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-sass/rubygem-sass.changes        
2015-08-05 06:49:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-sass.new/rubygem-sass.changes   
2015-08-27 08:58:00.000000000 +0200
@@ -1,0 +2,12 @@
+Wed Aug 26 04:30:37 UTC 2015 - [email protected]
+
+- updated to version 3.4.18
+ see installed CHANGELOG.md
+
+-------------------------------------------------------------------
+Sat Aug 22 04:37:01 UTC 2015 - [email protected]
+
+- updated to version 3.4.17
+ see installed CHANGELOG.md
+
+-------------------------------------------------------------------

Old:
----
  sass-3.4.16.gem

New:
----
  sass-3.4.18.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-sass.spec ++++++
--- /var/tmp/diff_new_pack.jAugt7/_old  2015-08-27 08:58:00.000000000 +0200
+++ /var/tmp/diff_new_pack.jAugt7/_new  2015-08-27 08:58:00.000000000 +0200
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-sass
-Version:        3.4.16
+Version:        3.4.18
 Release:        0
 %define mod_name sass
 %define mod_full_name %{mod_name}-%{version}

++++++ sass-3.4.16.gem -> sass-3.4.18.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/VERSION new/VERSION
--- old/VERSION 2015-07-11 01:22:27.000000000 +0200
+++ new/VERSION 1970-01-01 01:00:00.000000000 +0100
@@ -1 +1 @@
-3.4.16
+3.4.18
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/VERSION_DATE new/VERSION_DATE
--- old/VERSION_DATE    2015-07-11 01:22:27.000000000 +0200
+++ new/VERSION_DATE    1970-01-01 01:00:00.000000000 +0100
@@ -1 +1 @@
-10 July 2015 23:22:27 UTC
+25 August 2015 20:10:56 UTC
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sass/script/functions.rb 
new/lib/sass/script/functions.rb
--- old/lib/sass/script/functions.rb    2015-07-11 01:22:27.000000000 +0200
+++ new/lib/sass/script/functions.rb    1970-01-01 01:00:00.000000000 +0100
@@ -630,6 +630,9 @@
     # @return [Sass::Script::Value::Color]
     # @raise [ArgumentError] if any parameter is the wrong type or out of 
bounds
     def rgb(red, green, blue)
+      if calc?(red) || calc?(green) || calc?(blue)
+        return unquoted_string("rgb(#{red}, #{green}, #{blue})")
+      end
       assert_type red, :Number, :red
       assert_type green, :Number, :green
       assert_type blue, :Number, :blue
@@ -688,13 +691,20 @@
         color, alpha = args
 
         assert_type color, :Color, :color
-        assert_type alpha, :Number, :alpha
-        check_alpha_unit alpha, 'rgba'
-
-        color.with(:alpha => alpha.value)
+        if calc?(alpha)
+          unquoted_string("rgba(#{color.red}, #{color.green}, #{color.blue}, 
#{alpha})")
+        else
+          assert_type alpha, :Number, :alpha
+          check_alpha_unit alpha, 'rgba'
+          color.with(:alpha => alpha.value)
+        end
       when 4
         red, green, blue, alpha = args
-        rgba(rgb(red, green, blue), alpha)
+        if calc?(red) || calc?(green) || calc?(blue) || calc?(alpha)
+          unquoted_string("rgba(#{red}, #{green}, #{blue}, #{alpha})")
+        else
+          rgba(rgb(red, green, blue), alpha)
+        end
       else
         raise ArgumentError.new("wrong number of arguments (#{args.size} for 
4)")
       end
@@ -719,7 +729,11 @@
     # @raise [ArgumentError] if `$saturation` or `$lightness` are out of bounds
     #   or any parameter is the wrong type
     def hsl(hue, saturation, lightness)
-      hsla(hue, saturation, lightness, number(1))
+      if calc?(hue) || calc?(saturation) || calc?(lightness)
+        unquoted_string("hsl(#{hue}, #{saturation}, #{lightness})")
+      else
+        hsla(hue, saturation, lightness, number(1))
+      end
     end
     declare :hsl, [:hue, :saturation, :lightness]
 
@@ -743,6 +757,9 @@
     # @raise [ArgumentError] if `$saturation`, `$lightness`, or `$alpha` are 
out
     #   of bounds or any parameter is the wrong type
     def hsla(hue, saturation, lightness, alpha)
+      if calc?(hue) || calc?(saturation) || calc?(lightness) || calc?(alpha)
+        return unquoted_string("hsla(#{hue}, #{saturation}, #{lightness}, 
#{alpha})")
+      end
       assert_type hue, :Number, :hue
       assert_type saturation, :Number, :saturation
       assert_type lightness, :Number, :lightness
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sass/script/parser.rb 
new/lib/sass/script/parser.rb
--- old/lib/sass/script/parser.rb       2015-07-11 01:22:27.000000000 +0200
+++ new/lib/sass/script/parser.rb       1970-01-01 01:00:00.000000000 +0100
@@ -308,6 +308,7 @@
           end
           return list unless (e = interpolation)
           list.elements << e
+          list.source_range.end_pos = list.elements.last.source_range.end_pos
         end
         list
       end
@@ -507,15 +508,12 @@
 
       def paren
         return variable unless try_tok(:lparen)
-        was_in_parens = @in_parens
-        @in_parens = true
         start_pos = source_position
         e = map
+        e.force_division! if e
         end_pos = source_position
         assert_tok(:rparen)
-        return e || node(Sass::Script::Tree::ListLiteral.new([], nil), 
start_pos, end_pos)
-      ensure
-        @in_parens = was_in_parens
+        e || node(Sass::Script::Tree::ListLiteral.new([], nil), start_pos, 
end_pos)
       end
 
       def variable
@@ -540,7 +538,7 @@
         tok = try_tok(:number)
         return selector unless tok
         num = tok.value
-        num.original = num.to_s unless @in_parens
+        num.original = num.to_s
         literal_node(num, tok.source_range.start_pos)
       end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sass/script/tree/list_literal.rb 
new/lib/sass/script/tree/list_literal.rb
--- old/lib/sass/script/tree/list_literal.rb    2015-07-11 01:22:27.000000000 
+0200
+++ new/lib/sass/script/tree/list_literal.rb    1970-01-01 01:00:00.000000000 
+0100
@@ -28,12 +28,8 @@
     # @see Value#to_sass
     def to_sass(opts = {})
       return "()" if elements.empty?
-      precedence = Sass::Script::Parser.precedence_of(separator)
       members = elements.map do |v|
-        if v.is_a?(ListLiteral) && 
Sass::Script::Parser.precedence_of(v.separator) <= precedence ||
-            separator == :space && v.is_a?(UnaryOperation) &&
-              (v.operator == :minus || v.operator == :plus) ||
-            separator == :space && v.is_a?(Operation)
+        if element_needs_parens?(v)
           "(#{v.to_sass(opts)})"
         else
           v.to_sass(opts)
@@ -56,6 +52,10 @@
       "(#{elements.map {|e| e.inspect}.join(separator == :space ? ' ' : ', 
')})"
     end
 
+    def force_division!
+      # Do nothing. Lists prevent division propagation.
+    end
+
     protected
 
     def _perform(environment)
@@ -69,6 +69,32 @@
 
     private
 
+    # Returns whether an element in the list should be wrapped in parentheses
+    # when serialized to Sass.
+    def element_needs_parens?(element)
+      if element.is_a?(ListLiteral)
+        return Sass::Script::Parser.precedence_of(element.separator) <=
+               Sass::Script::Parser.precedence_of(separator)
+      end
+
+      return false unless separator == :space
+
+      if element.is_a?(UnaryOperation)
+        return element.operator == :minus || element.operator == :plus
+      end
+
+      return false unless element.is_a?(Operation)
+      return true unless element.operator == :div
+      !(is_literal_number?(element.operand1) && 
is_literal_number?(element.operand2))
+    end
+
+    # Returns whether a value is a number literal that shouldn't be divided.
+    def is_literal_number?(value)
+      value.is_a?(Literal) &&
+        value.value.is_a?((Sass::Script::Value::Number)) &&
+        !value.value.original.nil?
+    end
+
     def sep_str(opts = options)
       return ' ' if separator == :space
       return ',' if opts && opts[:style] == :compressed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sass/script/tree/literal.rb 
new/lib/sass/script/tree/literal.rb
--- old/lib/sass/script/tree/literal.rb 2015-07-11 01:22:27.000000000 +0200
+++ new/lib/sass/script/tree/literal.rb 1970-01-01 01:00:00.000000000 +0100
@@ -35,6 +35,10 @@
       value.inspect
     end
 
+    def force_division!
+      value.original = nil if value.is_a?(Sass::Script::Value::Number)
+    end
+
     protected
 
     def _perform(environment)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sass/script/tree/node.rb 
new/lib/sass/script/tree/node.rb
--- old/lib/sass/script/tree/node.rb    2015-07-11 01:22:27.000000000 +0200
+++ new/lib/sass/script/tree/node.rb    1970-01-01 01:00:00.000000000 +0100
@@ -75,6 +75,12 @@
       Sass::Util.abstract(self)
     end
 
+    # Forces any division operations with number literals in this expression to
+    # do real division, rather than returning strings.
+    def force_division!
+      children.each {|c| c.force_division!}
+    end
+
     protected
 
     # Converts underscores to dashes if the :dasherize option is set.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sass/script/value/color.rb 
new/lib/sass/script/value/color.rb
--- old/lib/sass/script/value/color.rb  2015-07-11 01:22:27.000000000 +0200
+++ new/lib/sass/script/value/color.rb  1970-01-01 01:00:00.000000000 +0100
@@ -598,11 +598,27 @@
       "##{red}#{green}#{blue}"
     end
 
+    def operation_name(operation)
+      case operation
+      when :+
+        "add"
+      when :-
+        "subtract"
+      when :*
+        "multiply"
+      when :/
+        "divide"
+      when :%
+        "modulo"
+      end
+    end
+
     def piecewise(other, operation)
       other_num = other.is_a? Number
       if other_num && !other.unitless?
         raise Sass::SyntaxError.new(
-          "Cannot add a number with units (#{other}) to a color (#{self}).")
+          "Cannot #{operation_name(operation)} a number with units (#{other}) 
to a color (#{self})."
+        )
       end
 
       result = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sass/script/value/helpers.rb 
new/lib/sass/script/value/helpers.rb
--- old/lib/sass/script/value/helpers.rb        2015-07-11 01:22:27.000000000 
+0200
+++ new/lib/sass/script/value/helpers.rb        1970-01-01 01:00:00.000000000 
+0100
@@ -194,6 +194,16 @@
       raise ArgumentError.new(err)
     end
 
+    # Returns true when the literal is a string containing a calc()
+    #
+    # @param literal [Sass::Script::Value::Base] The value to check
+    # @return boolean
+    def calc?(literal)
+      if literal.is_a?(Sass::Script::Value::String)
+        literal.value =~ /calc\(/
+      end
+    end
+
     private
 
     # Converts a user-provided selector into string form or throws an
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sass/tree/visitors/perform.rb 
new/lib/sass/tree/visitors/perform.rb
--- old/lib/sass/tree/visitors/perform.rb       2015-07-11 01:22:27.000000000 
+0200
+++ new/lib/sass/tree/visitors/perform.rb       1970-01-01 01:00:00.000000000 
+0100
@@ -310,6 +310,7 @@
   def visit_import(node)
     if (path = node.css_import?)
       resolved_node = Sass::Tree::CssImportNode.resolved("url(#{path})")
+      resolved_node.options = node.options
       resolved_node.source_range = node.source_range
       return resolved_node
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sass/tree/visitors/to_css.rb 
new/lib/sass/tree/visitors/to_css.rb
--- old/lib/sass/tree/visitors/to_css.rb        2015-07-11 01:22:27.000000000 
+0200
+++ new/lib/sass/tree/visitors/to_css.rb        1970-01-01 01:00:00.000000000 
+0100
@@ -51,6 +51,10 @@
     @source_mapping.add(source_range, target_range)
   end
 
+  def ends_with?(str)
+    @result.end_with?(str)
+  end
+
   # Move the output cursor back `chars` characters.
   def erase!(chars)
     return if chars == 0
@@ -124,6 +128,9 @@
       end
     end
     rstrip!
+    if node.style == :compressed && ends_with?(";")
+      erase! 1
+    end
     return "" if @result.empty?
 
     output "\n"
@@ -171,7 +178,11 @@
     if !node.has_children || node.children.empty?
       output(tab_str)
       for_node(node) {output(node.resolved_value)}
-      output(!node.has_children ? ";" : " {}")
+      if node.has_children
+        output("#{' ' unless node.style == :compressed}{}")
+      elsif node.children.empty?
+        output(";")
+      end
       return
     end
 
@@ -181,18 +192,18 @@
     output(node.style == :compressed ? "{" : " {")
     output(node.style == :compact ? ' ' : "\n") if node.style != :compressed
 
-    was_prop = false
+    had_children = true
     first = true
     node.children.each do |child|
       next if child.invisible?
       if node.style == :compact
         if child.is_a?(Sass::Tree::PropNode)
-          with_tabs(first || was_prop ? 0 : @tabs + 1) do
+          with_tabs(first || !had_children ? 0 : @tabs + 1) do
             visit(child)
             output(' ')
           end
         else
-          if was_prop
+          unless had_children
             erase! 1
             output "\n"
           end
@@ -206,18 +217,23 @@
           rstrip!
           output "\n"
         end
-        was_prop = child.is_a?(Sass::Tree::PropNode)
+        had_children = child.has_children
         first = false
       elsif node.style == :compressed
-        output(was_prop ? ";" : "")
+        unless had_children
+          output(";") unless ends_with?(";")
+        end
         with_tabs(0) {visit(child)}
-        was_prop = child.is_a?(Sass::Tree::PropNode)
+        had_children = child.has_children
       else
         with_tabs(@tabs + 1) {visit(child)}
         output "\n"
       end
     end
     rstrip!
+    if node.style == :compressed && ends_with?(";")
+      erase! 1
+    end
     if node.style == :expanded
       output("\n#{tab_str}")
     elsif node.style != :compressed
@@ -338,10 +354,18 @@
 
       with_tabs(tabs) do
         node.children.each_with_index do |child, i|
-          output(separator) if i > 0
+          if i > 0
+            if separator.start_with?(";") && ends_with?(";")
+              erase! 1
+            end
+            output(separator)
+          end
           visit(child)
         end
       end
+      if node.style == :compressed && ends_with?(";")
+        erase! 1
+      end
 
       output(end_props)
       output("}" + trailer)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2015-07-11 01:22:27.000000000 +0200
+++ new/metadata        1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: sass
 version: !ruby/object:Gem::Version
-  version: 3.4.16
+  version: 3.4.18
 platform: ruby
 authors:
 - Natalie Weizenbaum
@@ -10,7 +10,7 @@
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2015-07-10 00:00:00.000000000 Z
+date: 2015-08-25 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: yard
@@ -67,47 +67,31 @@
 extensions: []
 extra_rdoc_files: []
 files:
-- .yardopts
-- CODE_OF_CONDUCT.md
-- CONTRIBUTING.md
-- MIT-LICENSE
-- README.md
-- REVISION
-- Rakefile
-- VERSION
-- VERSION_DATE
-- VERSION_NAME
-- bin/sass
-- bin/sass-convert
-- bin/scss
-- extra/update_watch.rb
-- init.rb
-- lib/sass.rb
-- lib/sass/cache_stores.rb
+- rails/init.rb
 - lib/sass/cache_stores/base.rb
 - lib/sass/cache_stores/chain.rb
 - lib/sass/cache_stores/filesystem.rb
 - lib/sass/cache_stores/memory.rb
 - lib/sass/cache_stores/null.rb
+- lib/sass/cache_stores.rb
 - lib/sass/callbacks.rb
 - lib/sass/css.rb
 - lib/sass/engine.rb
 - lib/sass/environment.rb
 - lib/sass/error.rb
-- lib/sass/exec.rb
 - lib/sass/exec/base.rb
 - lib/sass/exec/sass_convert.rb
 - lib/sass/exec/sass_scss.rb
+- lib/sass/exec.rb
 - lib/sass/features.rb
-- lib/sass/importers.rb
 - lib/sass/importers/base.rb
 - lib/sass/importers/deprecated_path.rb
 - lib/sass/importers/filesystem.rb
-- lib/sass/logger.rb
+- lib/sass/importers.rb
 - lib/sass/logger/base.rb
 - lib/sass/logger/log_level.rb
+- lib/sass/logger.rb
 - lib/sass/media.rb
-- lib/sass/plugin.rb
 - lib/sass/plugin/compiler.rb
 - lib/sass/plugin/configuration.rb
 - lib/sass/plugin/generic.rb
@@ -115,16 +99,15 @@
 - lib/sass/plugin/rack.rb
 - lib/sass/plugin/rails.rb
 - lib/sass/plugin/staleness_checker.rb
+- lib/sass/plugin.rb
 - lib/sass/railtie.rb
 - lib/sass/repl.rb
 - lib/sass/root.rb
-- lib/sass/script.rb
 - lib/sass/script/css_lexer.rb
 - lib/sass/script/css_parser.rb
 - lib/sass/script/functions.rb
 - lib/sass/script/lexer.rb
 - lib/sass/script/parser.rb
-- lib/sass/script/tree.rb
 - lib/sass/script/tree/funcall.rb
 - lib/sass/script/tree/interpolation.rb
 - lib/sass/script/tree/list_literal.rb
@@ -136,7 +119,7 @@
 - lib/sass/script/tree/string_interpolation.rb
 - lib/sass/script/tree/unary_operation.rb
 - lib/sass/script/tree/variable.rb
-- lib/sass/script/value.rb
+- lib/sass/script/tree.rb
 - lib/sass/script/value/arg_list.rb
 - lib/sass/script/value/base.rb
 - lib/sass/script/value/bool.rb
@@ -147,20 +130,22 @@
 - lib/sass/script/value/null.rb
 - lib/sass/script/value/number.rb
 - lib/sass/script/value/string.rb
-- lib/sass/scss.rb
+- lib/sass/script/value.rb
+- lib/sass/script.rb
 - lib/sass/scss/css_parser.rb
 - lib/sass/scss/parser.rb
 - lib/sass/scss/rx.rb
 - lib/sass/scss/script_lexer.rb
 - lib/sass/scss/script_parser.rb
 - lib/sass/scss/static_parser.rb
-- lib/sass/selector.rb
+- lib/sass/scss.rb
 - lib/sass/selector/abstract_sequence.rb
 - lib/sass/selector/comma_sequence.rb
 - lib/sass/selector/pseudo.rb
 - lib/sass/selector/sequence.rb
 - lib/sass/selector/simple.rb
 - lib/sass/selector/simple_sequence.rb
+- lib/sass/selector.rb
 - lib/sass/shared.rb
 - lib/sass/source/map.rb
 - lib/sass/source/position.rb
@@ -204,15 +189,54 @@
 - lib/sass/tree/visitors/to_css.rb
 - lib/sass/tree/warn_node.rb
 - lib/sass/tree/while_node.rb
-- lib/sass/util.rb
 - lib/sass/util/cross_platform_random.rb
 - lib/sass/util/multibyte_string_scanner.rb
 - lib/sass/util/normalized_map.rb
 - lib/sass/util/ordered_hash.rb
 - lib/sass/util/subset_map.rb
 - lib/sass/util/test.rb
+- lib/sass/util.rb
 - lib/sass/version.rb
-- rails/init.rb
+- lib/sass.rb
+- vendor/listen/CHANGELOG.md
+- vendor/listen/CONTRIBUTING.md
+- vendor/listen/Gemfile
+- vendor/listen/Guardfile
+- vendor/listen/lib/listen/adapter.rb
+- vendor/listen/lib/listen/adapters/bsd.rb
+- vendor/listen/lib/listen/adapters/darwin.rb
+- vendor/listen/lib/listen/adapters/linux.rb
+- vendor/listen/lib/listen/adapters/polling.rb
+- vendor/listen/lib/listen/adapters/windows.rb
+- vendor/listen/lib/listen/directory_record.rb
+- vendor/listen/lib/listen/listener.rb
+- vendor/listen/lib/listen/turnstile.rb
+- vendor/listen/lib/listen/version.rb
+- vendor/listen/lib/listen.rb
+- vendor/listen/LICENSE
+- vendor/listen/listen.gemspec
+- vendor/listen/Rakefile
+- vendor/listen/README.md
+- vendor/listen/spec/listen/adapter_spec.rb
+- vendor/listen/spec/listen/adapters/bsd_spec.rb
+- vendor/listen/spec/listen/adapters/darwin_spec.rb
+- vendor/listen/spec/listen/adapters/linux_spec.rb
+- vendor/listen/spec/listen/adapters/polling_spec.rb
+- vendor/listen/spec/listen/adapters/windows_spec.rb
+- vendor/listen/spec/listen/directory_record_spec.rb
+- vendor/listen/spec/listen/listener_spec.rb
+- vendor/listen/spec/listen/turnstile_spec.rb
+- vendor/listen/spec/listen_spec.rb
+- vendor/listen/spec/spec_helper.rb
+- vendor/listen/spec/support/adapter_helper.rb
+- vendor/listen/spec/support/directory_record_helper.rb
+- vendor/listen/spec/support/fixtures_helper.rb
+- vendor/listen/spec/support/listeners_helper.rb
+- vendor/listen/spec/support/platform_helper.rb
+- vendor/listen/Vagrantfile
+- bin/sass
+- bin/sass-convert
+- bin/scss
 - test/sass/cache_test.rb
 - test/sass/callbacks_test.rb
 - test/sass/compiler_test.rb
@@ -337,42 +361,18 @@
 - test/sass/util_test.rb
 - test/sass/value_helpers_test.rb
 - test/test_helper.rb
-- vendor/listen/CHANGELOG.md
-- vendor/listen/CONTRIBUTING.md
-- vendor/listen/Gemfile
-- vendor/listen/Guardfile
-- vendor/listen/LICENSE
-- vendor/listen/README.md
-- vendor/listen/Rakefile
-- vendor/listen/Vagrantfile
-- vendor/listen/lib/listen.rb
-- vendor/listen/lib/listen/adapter.rb
-- vendor/listen/lib/listen/adapters/bsd.rb
-- vendor/listen/lib/listen/adapters/darwin.rb
-- vendor/listen/lib/listen/adapters/linux.rb
-- vendor/listen/lib/listen/adapters/polling.rb
-- vendor/listen/lib/listen/adapters/windows.rb
-- vendor/listen/lib/listen/directory_record.rb
-- vendor/listen/lib/listen/listener.rb
-- vendor/listen/lib/listen/turnstile.rb
-- vendor/listen/lib/listen/version.rb
-- vendor/listen/listen.gemspec
-- vendor/listen/spec/listen/adapter_spec.rb
-- vendor/listen/spec/listen/adapters/bsd_spec.rb
-- vendor/listen/spec/listen/adapters/darwin_spec.rb
-- vendor/listen/spec/listen/adapters/linux_spec.rb
-- vendor/listen/spec/listen/adapters/polling_spec.rb
-- vendor/listen/spec/listen/adapters/windows_spec.rb
-- vendor/listen/spec/listen/directory_record_spec.rb
-- vendor/listen/spec/listen/listener_spec.rb
-- vendor/listen/spec/listen/turnstile_spec.rb
-- vendor/listen/spec/listen_spec.rb
-- vendor/listen/spec/spec_helper.rb
-- vendor/listen/spec/support/adapter_helper.rb
-- vendor/listen/spec/support/directory_record_helper.rb
-- vendor/listen/spec/support/fixtures_helper.rb
-- vendor/listen/spec/support/listeners_helper.rb
-- vendor/listen/spec/support/platform_helper.rb
+- extra/update_watch.rb
+- Rakefile
+- init.rb
+- .yardopts
+- CODE_OF_CONDUCT.md
+- CONTRIBUTING.md
+- MIT-LICENSE
+- README.md
+- REVISION
+- VERSION
+- VERSION_DATE
+- VERSION_NAME
 homepage: http://sass-lang.com/
 licenses:
 - MIT
@@ -393,33 +393,33 @@
       version: '0'
 requirements: []
 rubyforge_project: sass
-rubygems_version: 2.2.2
+rubygems_version: 2.0.3
 signing_key: 
 specification_version: 4
 summary: A powerful but elegant CSS compiler that makes CSS fun again.
 test_files:
-- test/sass/value_helpers_test.rb
-- test/sass/conversion_test.rb
 - test/sass/cache_test.rb
-- test/sass/script_test.rb
-- test/sass/superselector_test.rb
 - test/sass/callbacks_test.rb
-- test/sass/source_map_test.rb
-- test/sass/script_conversion_test.rb
-- test/sass/util_test.rb
-- test/sass/plugin_test.rb
-- test/sass/extend_test.rb
-- test/sass/scss/rx_test.rb
-- test/sass/scss/css_test.rb
-- test/sass/scss/scss_test.rb
-- test/sass/logger_test.rb
-- test/sass/importer_test.rb
+- test/sass/compiler_test.rb
+- test/sass/conversion_test.rb
+- test/sass/css2sass_test.rb
 - test/sass/encoding_test.rb
 - test/sass/engine_test.rb
 - test/sass/exec_test.rb
+- test/sass/extend_test.rb
+- test/sass/functions_test.rb
+- test/sass/importer_test.rb
+- test/sass/logger_test.rb
+- test/sass/plugin_test.rb
+- test/sass/script_conversion_test.rb
+- test/sass/script_test.rb
+- test/sass/scss/css_test.rb
+- test/sass/scss/rx_test.rb
+- test/sass/scss/scss_test.rb
+- test/sass/source_map_test.rb
+- test/sass/superselector_test.rb
+- test/sass/util/multibyte_string_scanner_test.rb
 - test/sass/util/normalized_map_test.rb
 - test/sass/util/subset_map_test.rb
-- test/sass/util/multibyte_string_scanner_test.rb
-- test/sass/functions_test.rb
-- test/sass/compiler_test.rb
-- test/sass/css2sass_test.rb
+- test/sass/util_test.rb
+- test/sass/value_helpers_test.rb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/sass/conversion_test.rb 
new/test/sass/conversion_test.rb
--- old/test/sass/conversion_test.rb    2015-07-11 01:22:27.000000000 +0200
+++ new/test/sass/conversion_test.rb    1970-01-01 01:00:00.000000000 +0100
@@ -1297,6 +1297,16 @@
   a: 1px / 2px;
 }
 SCSS
+
+    # Regression test for issue 1787
+    assert_renders <<SASS, <<SCSS
+foo
+  a: 1px / 2px 3px
+SASS
+foo {
+  a: 1px / 2px 3px;
+}
+SCSS
   end
 
   def test_directive_with_interpolation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/sass/engine_test.rb new/test/sass/engine_test.rb
--- old/test/sass/engine_test.rb        2015-07-11 01:22:27.000000000 +0200
+++ new/test/sass/engine_test.rb        1970-01-01 01:00:00.000000000 +0100
@@ -178,6 +178,8 @@
     "& foo\n  bar: baz\n  blat: bang" => ["Base-level rules cannot contain the 
parent-selector-referencing character '&'.", 1],
     "a\n  b: c\n& foo\n  bar: baz\n  blat: bang" => ["Base-level rules cannot 
contain the parent-selector-referencing character '&'.", 3],
     "@" => "Invalid directive: '@'.",
+    "$r: 20em * #ccc" => ["Cannot multiply a number with units (20em) to a 
color (#ccc).", 1],
+    "$r: #ccc / 1em" => ["Cannot divide a number with units (1em) to a color 
(#ccc).", 1],
   }
 
   def teardown
@@ -3263,6 +3265,64 @@
 SASS
   end
 
+  def test_compressed_unknown_directive
+    assert_equal(<<CSS, render(<<SASS, :style => :compressed))
+x{@foo;a:b;@bar}
+CSS
+x
+  @foo
+  a: b
+  @bar
+SASS
+  end
+
+  def test_compressed_unknown_directive_in_directive
+    assert_equal(<<CSS, render(<<SASS, :style => :compressed))
+@x{@foo;a:b;@bar}
+CSS
+@x
+  @foo
+  a: b
+  @bar
+SASS
+  end
+
+  def test_compressed_unknown_directive_with_children_in_directive
+    assert_equal(<<CSS, render(<<SASS, :style => :compressed))
+@x{@foo{a:b}c:d;@bar{e:f}}
+CSS
+@x
+  @foo
+    a: b
+  c: d
+  @bar
+    e: f
+SASS
+  end
+
+  def test_compressed_rule_in_directive
+    assert_equal(<<CSS, render(<<SASS, :style => :compressed))
+@x{foo{a:b}c:d;bar{e:f}}
+CSS
+@x
+  foo
+    a: b
+  c: d
+  bar
+    e: f
+SASS
+  end
+
+  def test_import_two_css_files_issue_1806
+    assert_equal(<<CSS, render(<<SASS, :syntax => :scss, :style => 
:compressed))
+@import url(\"foo.css\");@import url(\"bar.css\");@import url(\"baz.css\")
+CSS
+@import url("foo.css");
+@import url("bar.css");
+@import url("baz.css");
+SASS
+  end
+
   private
 
   def assert_hash_has(hash, expected)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/sass/script_test.rb new/test/sass/script_test.rb
--- old/test/sass/script_test.rb        2015-07-11 01:22:28.000000000 +0200
+++ new/test/sass/script_test.rb        1970-01-01 01:00:00.000000000 +0100
@@ -118,6 +118,33 @@
     assert_equal "rgba(10, 1, 0, 0.12346)", resolve("rgba(10.0, 1.23456789, 
0.0, 0.1234567)")
   end
 
+  def test_rgb_calc
+    assert_equal "rgb(calc(255 - 5), 0, 0)", resolve("rgb(calc(255 - 5), 0, 
0)")
+  end
+
+  def test_rgba_calc
+    assert_equal "rgba(calc(255 - 5), 0, 0, 0.1)",
+      resolve("rgba(calc(255 - 5), 0, 0, 0.1)")
+    assert_equal "rgba(127, 0, 0, calc(0.1 + 0.5))",
+      resolve("rgba(127, 0, 0, calc(0.1 + 0.5))")
+  end
+
+  def test_rgba_shorthand_calc
+    assert_equal "rgba(255, 0, 0, calc(0.1 + 0.5))",
+      resolve("rgba(red, calc(0.1 + 0.5))")
+  end
+
+  def test_hsl_calc
+    assert_equal "hsl(calc(360 * 5 / 6), 50%, 50%)", resolve("hsl(calc(360 * 5 
/ 6), 50%, 50%)")
+  end
+
+  def test_hsla_calc
+    assert_equal "hsla(calc(360 * 5 / 6), 50%, 50%, 0.1)",
+      resolve("hsla(calc(360 * 5 / 6), 50%, 50%, 0.1)")
+    assert_equal "hsla(270, 50%, 50%, calc(0.1 + 0.1))",
+      resolve("hsla(270, 50%, 50%, calc(0.1 + 0.1))")
+  end
+
   def test_compressed_colors
     assert_equal "#123456", resolve("#123456", :style => :compressed)
     assert_equal "rgba(1,2,3,0.5)", resolve("rgba(1, 2, 3, 0.5)", :style => 
:compressed)
@@ -547,6 +574,13 @@
     assert_equal "0.5", resolve("$var", {}, env("var" => eval("1px/2px")))
   end
 
+  # Regression test for issue 1786.
+  def test_slash_division_within_list
+    assert_equal "1 1/2 1/2", resolve("(1 1/2 1/2)")
+    assert_equal "1/2 1/2", resolve("(1/2 1/2)")
+    assert_equal "1/2", resolve("(1/2,)")
+  end
+
   def test_non_ident_colors_with_wrong_number_of_digits
     assert_raise_message(Sass::SyntaxError,
       'Invalid CSS after "": expected expression (e.g. 1px, bold), was "#1"') 
{eval("#1")}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/sass/source_map_test.rb 
new/test/sass/source_map_test.rb
--- old/test/sass/source_map_test.rb    2015-07-11 01:22:28.000000000 +0200
+++ new/test/sass/source_map_test.rb    1970-01-01 01:00:00.000000000 +0100
@@ -809,6 +809,17 @@
     assert_equal 17, range.end_pos.offset
   end
 
+  def test_list_source_range
+    engine = Sass::Engine.new(<<-SCSS, :cache => false, :syntax => :scss)
+@each $a, $b in (1, 2), (2, 4), (3, 6) { }
+SCSS
+    list = engine.to_tree.children.first.list
+    assert_equal 1, list.source_range.start_pos.line
+    assert_equal 1, list.source_range.end_pos.line
+    assert_equal 16, list.source_range.start_pos.offset
+    assert_equal 38, list.source_range.end_pos.offset
+  end
+
   def test_sources_array_is_uri_escaped
     map = Sass::Source::Map.new
     importer = Sass::Importers::Filesystem.new('.')


Reply via email to