From 8486d6db5641a373e4c955928f75c82331c8b8bf Mon Sep 17 00:00:00 2001 From: Nathan Weizenbaum Date: Sat, 4 Jul 2009 14:37:18 -0700 Subject: [PATCH] [Sass] Test some unit-manipulation stuff, and the rgb function. --- TODO | 1 - test/sass/functions_test.rb | 16 ++++++++++++++++ test/sass/script_test.rb | 8 ++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index b88324cf..55eaa279 100644 --- a/TODO +++ b/TODO @@ -25,7 +25,6 @@ http://www.w3.org/TR/REC-html40/intro/sgmltut.html#h-3.2.2 http://www.w3.org/TR/html5/syntax.html#attributes ** Sass - Add tests for ae4f319 and 4a901ed [2.4] CSS superset [2.4] Classes are mixins Can refer to specific property values? Syntax? diff --git a/test/sass/functions_test.rb b/test/sass/functions_test.rb index 8b937797..86936a22 100644 --- a/test/sass/functions_test.rb +++ b/test/sass/functions_test.rb @@ -88,6 +88,22 @@ class SassFunctionTest < Test::Unit::TestCase assert_error_message("#aaaaaa is not a number for `abs'", "abs(#aaa)") end + def test_rgb + assert_equal("#123456", evaluate("rgb(18, 52, 86)")) + assert_equal("#beaded", evaluate("rgb(190, 173, 237)")) + + assert_error_message("Color value 256 must be between 0 and 255 inclusive for `rgb'", + "rgb(256, 1, 1)") + assert_error_message("Color value 256 must be between 0 and 255 inclusive for `rgb'", + "rgb(1, 256, 1)") + assert_error_message("Color value 256 must be between 0 and 255 inclusive for `rgb'", + "rgb(1, 1, 256)") + assert_error_message("Color value 256 must be between 0 and 255 inclusive for `rgb'", + "rgb(1, 256, 257)") + assert_error_message("Color value -1 must be between 0 and 255 inclusive for `rgb'", + "rgb(-1, 1, 1)") + end + private def assert_rgb_hsl(rgb, hsl) diff --git a/test/sass/script_test.rb b/test/sass/script_test.rb index 2b5f469e..04ee774a 100644 --- a/test/sass/script_test.rb +++ b/test/sass/script_test.rb @@ -199,6 +199,14 @@ WARN assert_equal "#81ff81", resolve("hsl(120, 100%, 75%) + #010001") end + def test_operator_unit_conversion + assert_equal "1.1cm", resolve("1cm + 1mm") + assert_equal "true", resolve("2mm < 1cm") + assert_equal "true", resolve("10mm == 1cm") + assert_equal "true", resolve("1 == 1cm") + assert_equal "true", resolve("1.1cm == 11mm") + end + private def resolve(str, opts = {}, environment = env)