sass 3.3.0.alpha.225 → 3.3.0.alpha.226
Sign up to get free protection for your applications and to get access to all the features.
- data/REVISION +1 -1
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/lib/sass/script/tree/unary_operation.rb +8 -2
- data/lib/sass/script/value/list.rb +2 -1
- data/test/sass/conversion_test.rb +17 -0
- metadata +3 -3
data/REVISION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
7fe98c2764d755aaa625069cdf8193d598e628cf
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.3.0.alpha.
|
1
|
+
3.3.0.alpha.226
|
data/VERSION_DATE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
08 August 2013 00:37:16 GMT
|
@@ -4,8 +4,14 @@ module Sass::Script::Tree
|
|
4
4
|
#
|
5
5
|
# Currently only `-`, `/`, and `not` are unary operators.
|
6
6
|
class UnaryOperation < Node
|
7
|
-
# @
|
8
|
-
|
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}
|
9
15
|
def initialize(operand, operator)
|
10
16
|
@operand = operand
|
11
17
|
@operator = operator
|
@@ -47,7 +47,8 @@ module Sass::Script::Value
|
|
47
47
|
return "()" if value.empty?
|
48
48
|
precedence = Sass::Script::Parser.precedence_of(separator)
|
49
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
|
50
|
+
if v.is_a?(List) && Sass::Script::Parser.precedence_of(v.separator) <= precedence ||
|
51
|
+
separator == :space && v.is_a?(UnaryOperation) && (v.operator == :minus || v.operator == :plus)
|
51
52
|
"(#{v.to_sass(opts)})"
|
52
53
|
else
|
53
54
|
v.to_sass(opts)
|
@@ -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: 592302793
|
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
|
+
- 226
|
12
|
+
version: 3.3.0.alpha.226
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Nathan Weizenbaum
|