Better XPath evaluation tests for numbers.

This commit is contained in:
Yorick Peterse 2014-08-26 20:22:18 +02:00
parent bcd138a15a
commit 564f8859a0
2 changed files with 20 additions and 14 deletions

View File

@ -3,17 +3,20 @@ require 'spec_helper'
describe Oga::XPath::Evaluator do
context 'float types' do
before do
document = parse('<a></a>')
evaluator = described_class.new(document)
@number = evaluator.evaluate('1.2')
document = parse('<a></a>')
@evaluator = described_class.new(document)
end
example 'return literal integers' do
@number.should == 1.2
example 'return a float' do
@evaluator.evaluate('1.2').should == 1.2
end
example 'return integers as floats' do
@number.is_a?(Float).should == true
example 'return a negative float' do
@evaluator.evaluate('-1.2').should == -1.2
end
example 'return floats as a Float' do
@evaluator.evaluate('1.2').is_a?(Float).should == true
end
end
end

View File

@ -3,17 +3,20 @@ require 'spec_helper'
describe Oga::XPath::Evaluator do
context 'integer types' do
before do
document = parse('<a></a>')
evaluator = described_class.new(document)
@number = evaluator.evaluate('1')
document = parse('<a></a>')
@evaluator = described_class.new(document)
end
example 'return literal integers' do
@number.should == 1
example 'return an integer' do
@evaluator.evaluate('1').should == 1
end
example 'return integers as floats' do
@number.is_a?(Float).should == true
example 'return a negative integer' do
@evaluator.evaluate('-2').should == -2
end
example 'return integers as a Float' do
@evaluator.evaluate('1').is_a?(Float).should == true
end
end
end