Fixed ancestor-or-self relative to attributes
Per libxml behaviour this axis shouldn't match attributes when using "ancestor-or-self::*".
This commit is contained in:
parent
d5aad9c1c9
commit
70bea2071c
|
@ -176,7 +176,7 @@ module Oga
|
|||
def on_axis_ancestor_or_self(ast, input)
|
||||
parent = unique_literal(:parent)
|
||||
|
||||
process(ast, input)
|
||||
process(ast, input).and(input.is_a?(XML::Node))
|
||||
.if_true { yield input }
|
||||
.followed_by do
|
||||
attribute_or_node(input).if_true do
|
||||
|
|
|
@ -23,6 +23,12 @@ describe Oga::XPath::Compiler do
|
|||
evaluate_xpath(@a1.attribute('foo')).should == node_set(@a1)
|
||||
end
|
||||
end
|
||||
|
||||
describe 'ancestor-or-self::foo' do
|
||||
it 'returns an empty NodeSet' do
|
||||
evaluate_xpath(@a1.attribute('foo')).should == node_set
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'relative to an element' do
|
||||
|
|
Loading…
Reference in New Issue