Added spec for not() in a predicate

This commit is contained in:
Yorick Peterse 2015-08-18 16:52:07 +02:00
parent 0dcee637d3
commit 8e60c69def
1 changed files with 22 additions and 12 deletions

View File

@ -4,22 +4,32 @@ describe Oga::XPath::Compiler do
describe 'not() function' do
before do
@document = parse('<root>foo</root>')
@root = @document.children[0]
end
it 'returns false when the argument is a non-zero integer' do
evaluate_xpath(@document, 'not(10)').should == false
describe 'at the top-level' do
it 'returns false when the argument is a non-zero integer' do
evaluate_xpath(@document, 'not(10)').should == false
end
it 'returns true when the argument is a zero integer' do
evaluate_xpath(@document, 'not(0)').should == true
end
it 'returns false when the argument is a non-empty node set' do
evaluate_xpath(@document, 'not(root)').should == false
end
it 'returns itrue when the argument is an empty node set' do
evaluate_xpath(@document, 'not(foo)').should == true
end
end
it 'returns true when the argument is a zero integer' do
evaluate_xpath(@document, 'not(0)').should == true
end
it 'returns false when the argument is a non-empty node set' do
evaluate_xpath(@document, 'not(root)').should == false
end
it 'returns itrue when the argument is an empty node set' do
evaluate_xpath(@document, 'not(foo)').should == true
describe 'in a predicate' do
it 'returns a NodeSet containing all matching nodes ' do
evaluate_xpath(@document, 'root[not(node())]').should == node_set(@root)
end
end
end
end