diff --git a/lib/sass/constant.rb b/lib/sass/constant.rb index 318870f3..c3ff220e 100644 --- a/lib/sass/constant.rb +++ b/lib/sass/constant.rb @@ -30,6 +30,7 @@ module Sass ?* => :times, ?/ => :div, ?% => :mod, + ?~ => :not, ?& => :single_and, ?| => :single_or, CONSTANT_CHAR => :const, diff --git a/lib/sass/constant/literal.rb b/lib/sass/constant/literal.rb index 1122a6eb..c5102284 100644 --- a/lib/sass/constant/literal.rb +++ b/lib/sass/constant/literal.rb @@ -53,6 +53,10 @@ class Sass::Constant::Literal # :nodoc: to_bool ? self : other end + def unary_not + Sass::Constant::Bool.from_value(!to_bool) + end + def concat(other) Sass::Constant::String.from_value("#{self.to_s} #{other.to_s}") end diff --git a/test/sass/engine_test.rb b/test/sass/engine_test.rb index a790e8df..39c6ef73 100755 --- a/test/sass/engine_test.rb +++ b/test/sass/engine_test.rb @@ -396,6 +396,16 @@ a f2 = false && true f3 = true && false f4 = false && false +SASS + assert_equal(<