Swap child order of CSS class and id nodes.
This makes it easier to transform the AST at a later stage.
This commit is contained in:
parent
7ccd685acb
commit
63d27fa709
|
@ -70,8 +70,8 @@ rule
|
||||||
;
|
;
|
||||||
|
|
||||||
class
|
class
|
||||||
: class_name { s(:class, val[0]) }
|
: class_name { s(:class, nil, val[0]) }
|
||||||
| path_member class_name { s(:class, val[1], val[0]) }
|
| path_member class_name { s(:class, val[0], val[1]) }
|
||||||
;
|
;
|
||||||
|
|
||||||
class_name
|
class_name
|
||||||
|
@ -79,8 +79,8 @@ rule
|
||||||
;
|
;
|
||||||
|
|
||||||
id
|
id
|
||||||
: id_name { s(:id, val[0]) }
|
: id_name { s(:id, nil, val[0]) }
|
||||||
| path_member id_name { s(:id, val[1], val[0]) }
|
| path_member id_name { s(:id, val[0], val[1]) }
|
||||||
;
|
;
|
||||||
|
|
||||||
id_name
|
id_name
|
||||||
|
|
|
@ -22,7 +22,7 @@ describe Oga::CSS::Parser do
|
||||||
parse_css('x > foo#bar').should == s(
|
parse_css('x > foo#bar').should == s(
|
||||||
:child,
|
:child,
|
||||||
s(:test, nil, 'x'),
|
s(:test, nil, 'x'),
|
||||||
s(:id, 'bar', s(:test, nil, 'foo'))
|
s(:id, s(:test, nil, 'foo'), 'bar')
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ describe Oga::CSS::Parser do
|
||||||
parse_css('x > foo.bar').should == s(
|
parse_css('x > foo.bar').should == s(
|
||||||
:child,
|
:child,
|
||||||
s(:test, nil, 'x'),
|
s(:test, nil, 'x'),
|
||||||
s(:class, 'bar', s(:test, nil, 'foo'))
|
s(:class, s(:test, nil, 'foo'), 'bar')
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -3,30 +3,30 @@ require 'spec_helper'
|
||||||
describe Oga::CSS::Parser do
|
describe Oga::CSS::Parser do
|
||||||
context 'classes' do
|
context 'classes' do
|
||||||
example 'parse a class selector' do
|
example 'parse a class selector' do
|
||||||
parse_css('.foo').should == s(:class, 'foo')
|
parse_css('.foo').should == s(:class, nil, 'foo')
|
||||||
end
|
end
|
||||||
|
|
||||||
example 'parse a selector for an element with a class' do
|
example 'parse a selector for an element with a class' do
|
||||||
parse_css('foo.bar').should == s(:class, 'bar', s(:test, nil, 'foo'))
|
parse_css('foo.bar').should == s(:class, s(:test, nil, 'foo'), 'bar')
|
||||||
end
|
end
|
||||||
|
|
||||||
example 'parse a selector using multiple classes' do
|
example 'parse a selector using multiple classes' do
|
||||||
parse_css('.foo.bar').should == s(:class, 'bar', s(:class, 'foo'))
|
parse_css('.foo.bar').should == s(:class, s(:class, nil, 'foo'), 'bar')
|
||||||
end
|
end
|
||||||
|
|
||||||
example 'parse a selector using a class and an ID' do
|
example 'parse a selector using a class and an ID' do
|
||||||
parse_css('#foo.bar').should == s(:class, 'bar', s(:id, 'foo'))
|
parse_css('#foo.bar').should == s(:class, s(:id, nil, 'foo'), 'bar')
|
||||||
end
|
end
|
||||||
|
|
||||||
example 'parse a selector using a class and a pseudo class' do
|
example 'parse a selector using a class and a pseudo class' do
|
||||||
parse_css('.foo:root').should == s(:pseudo, 'root', s(:class, 'foo'))
|
parse_css('.foo:root').should == s(:pseudo, 'root', s(:class, nil, 'foo'))
|
||||||
end
|
end
|
||||||
|
|
||||||
example 'parse a selector using a pseudo class and a class' do
|
example 'parse a selector using a pseudo class and a class' do
|
||||||
parse_css('x:root.foo').should == s(
|
parse_css('x:root.foo').should == s(
|
||||||
:class,
|
:class,
|
||||||
'foo',
|
s(:pseudo, 'root', s(:test, nil, 'x')),
|
||||||
s(:pseudo, 'root', s(:test, nil, 'x'))
|
'foo'
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,26 +3,26 @@ require 'spec_helper'
|
||||||
describe Oga::CSS::Parser do
|
describe Oga::CSS::Parser do
|
||||||
context 'IDs' do
|
context 'IDs' do
|
||||||
example 'parse an ID selector' do
|
example 'parse an ID selector' do
|
||||||
parse_css('#foo').should == s(:id, 'foo')
|
parse_css('#foo').should == s(:id, nil, 'foo')
|
||||||
end
|
end
|
||||||
|
|
||||||
example 'parse a selector for an element with an ID' do
|
example 'parse a selector for an element with an ID' do
|
||||||
parse_css('foo#bar').should == s(:id, 'bar', s(:test, nil, 'foo'))
|
parse_css('foo#bar').should == s(:id, s(:test, nil, 'foo'), 'bar')
|
||||||
end
|
end
|
||||||
|
|
||||||
example 'parse a selector using an ID and a class' do
|
example 'parse a selector using an ID and a class' do
|
||||||
parse_css('.foo#bar').should == s(:id, 'bar', s(:class, 'foo'))
|
parse_css('.foo#bar').should == s(:id, s(:class, nil, 'foo'), 'bar')
|
||||||
end
|
end
|
||||||
|
|
||||||
example 'parse a selector using an ID and a pseudo class' do
|
example 'parse a selector using an ID and a pseudo class' do
|
||||||
parse_css('#foo:root').should == s(:pseudo, 'root', s(:id, 'foo'))
|
parse_css('#foo:root').should == s(:pseudo, 'root', s(:id, nil, 'foo'))
|
||||||
end
|
end
|
||||||
|
|
||||||
example 'parse a selector using a pseudo class and an ID' do
|
example 'parse a selector using a pseudo class and an ID' do
|
||||||
parse_css('x:root#foo').should == s(
|
parse_css('x:root#foo').should == s(
|
||||||
:id,
|
:id,
|
||||||
'foo',
|
s(:pseudo, 'root', s(:test, nil, 'x')),
|
||||||
s(:pseudo, 'root', s(:test, nil, 'x'))
|
'foo'
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue