mirror of
https://github.com/haml/haml.git
synced 2022-11-09 12:33:31 -05:00
[Sass] [Less] Support selector sequences.
This commit is contained in:
parent
cc6c2df92a
commit
34e1a4172e
2 changed files with 38 additions and 6 deletions
|
@ -50,13 +50,18 @@ WARNING
|
|||
return root
|
||||
end
|
||||
|
||||
sel =
|
||||
case @selector
|
||||
when /[+>~]/; "#{@selector} "
|
||||
else @selector
|
||||
sel = []
|
||||
el = self
|
||||
loop do
|
||||
case el.selector
|
||||
when ":", "::"; sel << "#{el.selector}#{el.name}"
|
||||
else sel << el.selector << el.name
|
||||
end
|
||||
rule = Sass::Tree::RuleNode.new([sel, @name])
|
||||
rules.each {|r| rule << r.to_sass_tree}
|
||||
break unless el.rules.size == 1 && el.rules.first.is_a?(Element)
|
||||
el = el.rules.first
|
||||
end
|
||||
rule = Sass::Tree::RuleNode.new(sel.reject {|s| s.empty?}.join(" "))
|
||||
el.rules.each {|r| rule << r.to_sass_tree}
|
||||
return rule
|
||||
end
|
||||
|
||||
|
|
|
@ -89,6 +89,33 @@ a.foo#bar[attr=val] {a: b}
|
|||
LESS
|
||||
end
|
||||
|
||||
def test_descendant_selector
|
||||
assert_renders <<SCSS, <<LESS
|
||||
.foo .bar {
|
||||
a: b; }
|
||||
SCSS
|
||||
.foo .bar {a: b}
|
||||
LESS
|
||||
end
|
||||
|
||||
def test_child_selector
|
||||
assert_renders <<SCSS, <<LESS
|
||||
.foo > .bar {
|
||||
a: b; }
|
||||
SCSS
|
||||
.foo > .bar {a: b}
|
||||
LESS
|
||||
end
|
||||
|
||||
def test_adjacent_selector
|
||||
assert_renders <<SCSS, <<LESS
|
||||
.foo + .bar {
|
||||
a: b; }
|
||||
SCSS
|
||||
.foo + .bar {a: b}
|
||||
LESS
|
||||
end
|
||||
|
||||
# Properties
|
||||
|
||||
def test_space_separated_props
|
||||
|
|
Loading…
Add table
Reference in a new issue