sass 3.3.0.alpha.227 → 3.3.0.alpha.229
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/REVISION +1 -1
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/lib/sass/script/tree/list_literal.rb +14 -4
- data/lib/sass/script/tree/unary_operation.rb +8 -3
- data/lib/sass/script/value/list.rb +0 -13
- data/test/sass/conversion_test.rb +17 -0
- metadata +4 -4
    
        data/REVISION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            7ff8fef1739f20466b1b9e9330a99fe4f7ca83e9
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            3.3.0.alpha. | 
| 1 | 
            +
            3.3.0.alpha.229
         | 
    
        data/VERSION_DATE
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            12 August 2013 23:04:10 GMT
         | 
| @@ -25,19 +25,21 @@ module Sass::Script::Tree | |
| 25 25 | 
             
                # @see Node#children
         | 
| 26 26 | 
             
                def children; elements; end
         | 
| 27 27 |  | 
| 28 | 
            -
                # @see  | 
| 28 | 
            +
                # @see Value#to_sass
         | 
| 29 29 | 
             
                def to_sass(opts = {})
         | 
| 30 30 | 
             
                  return "()" if elements.empty?
         | 
| 31 31 | 
             
                  precedence = Sass::Script::Parser.precedence_of(separator)
         | 
| 32 | 
            -
                  elements.map do |v|
         | 
| 33 | 
            -
                    if v.is_a?(ListLiteral) && Sass::Script::Parser.precedence_of(v.separator) <= precedence
         | 
| 32 | 
            +
                  elements.reject {|e| e.is_a?(Sass::Script::Value::Null)}.map do |v|
         | 
| 33 | 
            +
                    if v.is_a?(ListLiteral) && Sass::Script::Parser.precedence_of(v.separator) <= precedence ||
         | 
| 34 | 
            +
                        separator == :space && v.is_a?(UnaryOperation) && (v.operator == :minus || v.operator == :plus)
         | 
| 34 35 | 
             
                      "(#{v.to_sass(opts)})"
         | 
| 35 36 | 
             
                    else
         | 
| 36 37 | 
             
                      v.to_sass(opts)
         | 
| 37 38 | 
             
                    end
         | 
| 38 | 
            -
                  end.join( | 
| 39 | 
            +
                  end.join(sep_str(nil))
         | 
| 39 40 | 
             
                end
         | 
| 40 41 |  | 
| 42 | 
            +
             | 
| 41 43 | 
             
                # @see Node#deep_copy
         | 
| 42 44 | 
             
                def deep_copy
         | 
| 43 45 | 
             
                  node = dup
         | 
| @@ -61,5 +63,13 @@ module Sass::Script::Tree | |
| 61 63 | 
             
                  list.options = self.options
         | 
| 62 64 | 
             
                  list
         | 
| 63 65 | 
             
                end
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                private
         | 
| 68 | 
            +
             | 
| 69 | 
            +
                def sep_str(opts = self.options)
         | 
| 70 | 
            +
                  return ' ' if separator == :space
         | 
| 71 | 
            +
                  return ',' if opts && opts[:style] == :compressed
         | 
| 72 | 
            +
                  return ', '
         | 
| 73 | 
            +
                end
         | 
| 64 74 | 
             
              end
         | 
| 65 75 | 
             
            end
         | 
| @@ -4,9 +4,14 @@ module Sass::Script::Tree | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              # Currently only `-`, `/`, and `not` are unary operators.
         | 
| 6 6 | 
             
              class UnaryOperation < Node
         | 
| 7 | 
            -
                # @ | 
| 8 | 
            -
                 | 
| 9 | 
            -
             | 
| 7 | 
            +
                # @return [Symbol] The operation to perform
         | 
| 8 | 
            +
                attr_reader :operator
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                # @return [Script::Node] The parse-tree node for the object of the operator
         | 
| 11 | 
            +
                attr_reader :operand
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                # @param operand [Script::Node] See \{#operand}
         | 
| 14 | 
            +
                # @param operator [Symbol] See \{#operator}
         | 
| 10 15 | 
             
                def initialize(operand, operator)
         | 
| 11 16 | 
             
                  @operand = operand
         | 
| 12 17 | 
             
                  @operator = operator
         | 
| @@ -42,19 +42,6 @@ module Sass::Script::Value | |
| 42 42 | 
             
                  return value.reject {|e| e.is_a?(Null) || e.is_a?(List) && e.value.empty?}.map {|e| e.to_s(opts)}.join(sep_str)
         | 
| 43 43 | 
             
                end
         | 
| 44 44 |  | 
| 45 | 
            -
                # @see Value#to_sass
         | 
| 46 | 
            -
                def to_sass(opts = {})
         | 
| 47 | 
            -
                  return "()" if value.empty?
         | 
| 48 | 
            -
                  precedence = Sass::Script::Parser.precedence_of(separator)
         | 
| 49 | 
            -
                  value.reject {|e| e.is_a?(Null)}.map do |v|
         | 
| 50 | 
            -
                    if v.is_a?(List) && Sass::Script::Parser.precedence_of(v.separator) <= precedence
         | 
| 51 | 
            -
                      "(#{v.to_sass(opts)})"
         | 
| 52 | 
            -
                    else
         | 
| 53 | 
            -
                      v.to_sass(opts)
         | 
| 54 | 
            -
                    end
         | 
| 55 | 
            -
                  end.join(sep_str(nil))
         | 
| 56 | 
            -
                end
         | 
| 57 | 
            -
             | 
| 58 45 | 
             
                # @see Value#inspect
         | 
| 59 46 | 
             
                def inspect
         | 
| 60 47 | 
             
                  "(#{value.map {|e| e.inspect}.join(sep_str(nil))})"
         | 
| @@ -1742,6 +1742,23 @@ $foo: foo($dash-ed: 2px, $under_scored: 1px); | |
| 1742 1742 | 
             
            SCSS
         | 
| 1743 1743 | 
             
              end
         | 
| 1744 1744 |  | 
| 1745 | 
            +
              def test_ambiguous_negation
         | 
| 1746 | 
            +
                assert_renders(<<SASS, <<SCSS, :indent => '    ')
         | 
| 1747 | 
            +
            foo
         | 
| 1748 | 
            +
                ok: -$foo
         | 
| 1749 | 
            +
                comma: 10px, -$foo
         | 
| 1750 | 
            +
                needs-parens: 10px (-$foo)
         | 
| 1751 | 
            +
                no-parens: a 50px + 60px b
         | 
| 1752 | 
            +
            SASS
         | 
| 1753 | 
            +
            foo {
         | 
| 1754 | 
            +
                ok: -$foo;
         | 
| 1755 | 
            +
                comma: 10px, -$foo;
         | 
| 1756 | 
            +
                needs-parens: 10px (-$foo);
         | 
| 1757 | 
            +
                no-parens: a 50px + 60px b;
         | 
| 1758 | 
            +
            }
         | 
| 1759 | 
            +
            SCSS
         | 
| 1760 | 
            +
              end
         | 
| 1761 | 
            +
             | 
| 1745 1762 | 
             
              private
         | 
| 1746 1763 |  | 
| 1747 1764 | 
             
              def assert_sass_to_sass(sass, options = {})
         | 
    
        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:  | 
| 4 | 
            +
              hash: 592302791
         | 
| 5 5 | 
             
              prerelease: 6
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 3
         | 
| 8 8 | 
             
              - 3
         | 
| 9 9 | 
             
              - 0
         | 
| 10 10 | 
             
              - alpha
         | 
| 11 | 
            -
              -  | 
| 12 | 
            -
              version: 3.3.0.alpha. | 
| 11 | 
            +
              - 229
         | 
| 12 | 
            +
              version: 3.3.0.alpha.229
         | 
| 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: 2013-08- | 
| 22 | 
            +
            date: 2013-08-12 00:00:00 -04:00
         | 
| 23 23 | 
             
            default_executable: 
         | 
| 24 24 | 
             
            dependencies: 
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency 
         |