Swap child node order for CSS pseudo classes.

This commit is contained in:
Yorick Peterse 2014-10-16 23:18:14 +02:00
parent 63d27fa709
commit ea2baa2020
5 changed files with 25 additions and 25 deletions

View File

@ -117,16 +117,16 @@ rule
pseudo_class
# :root
: pseudo_name { s(:pseudo, val[0]) }
: pseudo_name { s(:pseudo, nil, val[0]) }
# x:root
| path_member pseudo_name { s(:pseudo, val[1], val[0]) }
| path_member pseudo_name { s(:pseudo, val[0], val[1]) }
# :nth-child(2)
| pseudo_name pseudo_args { s(:pseudo, val[0], nil, val[1]) }
| pseudo_name pseudo_args { s(:pseudo, nil, val[0], val[1]) }
# x:nth-child(2)
| path_member pseudo_name pseudo_args { s(:pseudo, val[1], val[0], val[2]) }
| path_member pseudo_name pseudo_args { s(:pseudo, val[0], val[1], val[2]) }
;
pseudo_name

View File

@ -77,7 +77,7 @@ describe Oga::CSS::Parser do
example 'parse a pseudo class followed by the ~ axis' do
parse_css('x:root ~ a').should == s(
:following,
s(:pseudo, 'root', s(:test, nil, 'x')),
s(:pseudo, s(:test, nil, 'x'), 'root'),
s(:test, nil, 'a')
)
end
@ -86,7 +86,7 @@ describe Oga::CSS::Parser do
parse_css('a ~ x:root').should == s(
:following,
s(:test, nil, 'a'),
s(:pseudo, 'root', s(:test, nil, 'x'))
s(:pseudo, s(:test, nil, 'x'), 'root')
)
end
end

View File

@ -19,13 +19,13 @@ describe Oga::CSS::Parser do
end
example 'parse a selector using a class and a pseudo class' do
parse_css('.foo:root').should == s(:pseudo, 'root', s(:class, nil, 'foo'))
parse_css('.foo:root').should == s(:pseudo, s(:class, nil, 'foo'), 'root')
end
example 'parse a selector using a pseudo class and a class' do
parse_css('x:root.foo').should == s(
:class,
s(:pseudo, 'root', s(:test, nil, 'x')),
s(:pseudo, s(:test, nil, 'x'), 'root'),
'foo'
)
end

View File

@ -15,13 +15,13 @@ describe Oga::CSS::Parser do
end
example 'parse a selector using an ID and a pseudo class' do
parse_css('#foo:root').should == s(:pseudo, 'root', s(:id, nil, 'foo'))
parse_css('#foo:root').should == s(:pseudo, s(:id, nil, 'foo'), 'root')
end
example 'parse a selector using a pseudo class and an ID' do
parse_css('x:root#foo').should == s(
:id,
s(:pseudo, 'root', s(:test, nil, 'x')),
s(:pseudo, s(:test, nil, 'x'), 'root'),
'foo'
)
end

View File

@ -3,18 +3,18 @@ require 'spec_helper'
describe Oga::CSS::Parser do
context 'pseudo classes' do
example 'parse the x:root pseudo class' do
parse_css('x:root').should == s(:pseudo, 'root', s(:test, nil, 'x'))
parse_css('x:root').should == s(:pseudo, s(:test, nil, 'x'), 'root')
end
example 'parse the :root pseudo class' do
parse_css(':root').should == s(:pseudo, 'root')
parse_css(':root').should == s(:pseudo, nil, 'root')
end
example 'parse the x:nth-child(1) pseudo class' do
parse_css('x:nth-child(1)').should == s(
:pseudo,
'nth-child',
s(:test, nil, 'x'),
'nth-child',
s(:int, 1)
)
end
@ -22,8 +22,8 @@ describe Oga::CSS::Parser do
example 'parse the :nth-child(1) pseudo class' do
parse_css(':nth-child(1)').should == s(
:pseudo,
'nth-child',
nil,
'nth-child',
s(:int, 1)
)
end
@ -31,8 +31,8 @@ describe Oga::CSS::Parser do
example 'parse the x:nth-child(odd) pseudo class' do
parse_css('x:nth-child(odd)').should == s(
:pseudo,
'nth-child',
s(:test, nil, 'x'),
'nth-child',
s(:odd)
)
end
@ -40,8 +40,8 @@ describe Oga::CSS::Parser do
example 'parse the x:nth-child(even) pseudo class' do
parse_css('x:nth-child(even)').should == s(
:pseudo,
'nth-child',
s(:test, nil, 'x'),
'nth-child',
s(:even)
)
end
@ -49,8 +49,8 @@ describe Oga::CSS::Parser do
example 'parse the x:nth-child(n) pseudo class' do
parse_css('x:nth-child(n)').should == s(
:pseudo,
'nth-child',
s(:test, nil, 'x'),
'nth-child',
s(:nth)
)
end
@ -58,8 +58,8 @@ describe Oga::CSS::Parser do
example 'parse the x:nth-child(-n) pseudo class' do
parse_css('x:nth-child(-n)').should == s(
:pseudo,
'nth-child',
s(:test, nil, 'x'),
'nth-child',
s(:nth)
)
end
@ -67,8 +67,8 @@ describe Oga::CSS::Parser do
example 'parse the x:nth-child(2n) pseudo class' do
parse_css('x:nth-child(2n)').should == s(
:pseudo,
'nth-child',
s(:test, nil, 'x'),
'nth-child',
s(:nth, s(:int, 2))
)
end
@ -76,8 +76,8 @@ describe Oga::CSS::Parser do
example 'parse the x:nth-child(2n+1) pseudo class' do
parse_css('x:nth-child(2n+1)').should == s(
:pseudo,
'nth-child',
s(:test, nil, 'x'),
'nth-child',
s(:nth, s(:int, 2), s(:int, 1))
)
end
@ -85,8 +85,8 @@ describe Oga::CSS::Parser do
example 'parse the x:nth-child(2n-1) pseudo class' do
parse_css('x:nth-child(2n-1)').should == s(
:pseudo,
'nth-child',
s(:test, nil, 'x'),
'nth-child',
s(:nth, s(:int, 2), s(:int, -1))
)
end
@ -94,8 +94,8 @@ describe Oga::CSS::Parser do
example 'parse the x:nth-child(-2n-1) pseudo class' do
parse_css('x:nth-child(-2n-1)').should == s(
:pseudo,
'nth-child',
s(:test, nil, 'x'),
'nth-child',
s(:nth, s(:int, -2), s(:int, -1))
)
end
@ -103,16 +103,16 @@ describe Oga::CSS::Parser do
example 'parse two pseudo selectors' do
parse_css('x:focus:hover').should == s(
:pseudo,
'hover',
s(:pseudo, 'focus', s(:test, nil, 'x'))
s(:pseudo, s(:test, nil, 'x'), 'focus'),
'hover'
)
end
example 'parse a pseudo class with an identifier as the argument' do
parse_css('x:lang(fr)').should == s(
:pseudo,
'lang',
s(:test, nil, 'x'),
'lang',
s(:test, nil, 'fr')
)
end