compass/test/sass_extensions_test.rb
Chris Eppstein 39265bafc3 Added a Sass Function called nest that performs a nesting operation on (possibly) comma delimited selectors and emits the result as a string.
For example:

nest(".foo", "a, em, b")

would render:

.foo a, .foo em, .foo b

The nest function can take any number of arguments and each argument can have any number of comma-delimited selectors.
2008-11-29 01:08:07 -08:00

26 lines
793 B
Ruby

require File.dirname(__FILE__)+'/test_helper'
require 'compass'
class SassExtensionsTest < Test::Unit::TestCase
def test_simple
assert_equal "a b", nest("a", "b")
end
def test_left_side_expansion
assert_equal "a c, b c", nest("a, b", "c")
end
def test_right_side_expansion
assert_equal "a b, a c", nest("a", "b, c")
end
def test_both_sides_expansion
assert_equal "a c, a d, b c, b d", nest("a, b", "c, d")
end
def test_three_selectors_expansion
assert_equal "a b, a c, a d", nest("a", "b, c, d")
end
def test_third_argument_expansion
assert_equal "a b e, a b f, a c e, a c f, a d e, a d f", nest("a", "b, c, d", "e, f")
end
def nest(*arguments)
Sass::Script::Functions.nest(*arguments.map{|a| Sass::Script::String.new(a)}).to_s
end
end