mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Update to ruby/spec@875a09e
This commit is contained in:
parent
a06301b103
commit
5c276e1cc9
1247 changed files with 5316 additions and 5028 deletions
|
@ -22,7 +22,7 @@ describe :kernel_float, shared: true do
|
|||
end
|
||||
|
||||
it "raises an ArgumentError for nil" do
|
||||
lambda { @object.send(:Float, nil) }.should raise_error(TypeError)
|
||||
-> { @object.send(:Float, nil) }.should raise_error(TypeError)
|
||||
end
|
||||
|
||||
it "returns the identical NaN for NaN" do
|
||||
|
@ -51,24 +51,24 @@ describe :kernel_float, shared: true do
|
|||
end
|
||||
|
||||
it "raises an ArgumentError for a String of word characters" do
|
||||
lambda { @object.send(:Float, "float") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "float") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError if there are two decimal points in the String" do
|
||||
lambda { @object.send(:Float, "10.0.0") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "10.0.0") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError for a String of numbers followed by word characters" do
|
||||
lambda { @object.send(:Float, "10D") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "10D") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError for a String of word characters followed by numbers" do
|
||||
lambda { @object.send(:Float, "D10") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "D10") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "is strict about the string form even across newlines" do
|
||||
lambda { @object.send(:Float, "not a number\n10") }.should raise_error(ArgumentError)
|
||||
lambda { @object.send(:Float, "10\nnot a number") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "not a number\n10") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "10\nnot a number") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "converts String subclasses to floats without calling #to_f" do
|
||||
|
@ -90,17 +90,17 @@ describe :kernel_float, shared: true do
|
|||
end
|
||||
|
||||
it "raises an ArgumentError if a + or - is embedded in a String" do
|
||||
lambda { @object.send(:Float, "1+1") }.should raise_error(ArgumentError)
|
||||
lambda { @object.send(:Float, "1-1") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "1+1") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "1-1") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError if a String has a trailing + or -" do
|
||||
lambda { @object.send(:Float, "11+") }.should raise_error(ArgumentError)
|
||||
lambda { @object.send(:Float, "11-") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "11+") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "11-") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError for a String with a leading _" do
|
||||
lambda { @object.send(:Float, "_1") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "_1") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "returns a value for a String with an embedded _" do
|
||||
|
@ -108,31 +108,31 @@ describe :kernel_float, shared: true do
|
|||
end
|
||||
|
||||
it "raises an ArgumentError for a String with a trailing _" do
|
||||
lambda { @object.send(:Float, "10_") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "10_") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError for a String of \\0" do
|
||||
lambda { @object.send(:Float, "\0") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "\0") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError for a String with a leading \\0" do
|
||||
lambda { @object.send(:Float, "\01") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "\01") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError for a String with an embedded \\0" do
|
||||
lambda { @object.send(:Float, "1\01") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "1\01") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError for a String with a trailing \\0" do
|
||||
lambda { @object.send(:Float, "1\0") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "1\0") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError for a String that is just an empty space" do
|
||||
lambda { @object.send(:Float, " ") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, " ") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError for a String that with an embedded space" do
|
||||
lambda { @object.send(:Float, "1 2") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "1 2") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "returns a value for a String with a leading space" do
|
||||
|
@ -153,11 +153,11 @@ describe :kernel_float, shared: true do
|
|||
|
||||
%w(e E).each do |e|
|
||||
it "raises an ArgumentError if #{e} is the trailing character" do
|
||||
lambda { @object.send(:Float, "2#{e}") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "2#{e}") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError if #{e} is the leading character" do
|
||||
lambda { @object.send(:Float, "#{e}2") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "#{e}2") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "returns Infinity for '2#{e}1000'" do
|
||||
|
@ -175,18 +175,18 @@ describe :kernel_float, shared: true do
|
|||
end
|
||||
|
||||
it "raises an exception if a space is embedded on either side of the '#{e}'" do
|
||||
lambda { @object.send(:Float, "2 0#{e}100") }.should raise_error(ArgumentError)
|
||||
lambda { @object.send(:Float, "20#{e}1 00") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "2 0#{e}100") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "20#{e}1 00") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an exception if there's a leading _ on either side of the '#{e}'" do
|
||||
lambda { @object.send(:Float, "_20#{e}100") }.should raise_error(ArgumentError)
|
||||
lambda { @object.send(:Float, "20#{e}_100") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "_20#{e}100") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "20#{e}_100") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an exception if there's a trailing _ on either side of the '#{e}'" do
|
||||
lambda { @object.send(:Float, "20_#{e}100") }.should raise_error(ArgumentError)
|
||||
lambda { @object.send(:Float, "20#{e}100_") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "20_#{e}100") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "20#{e}100_") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "allows decimal points on the left side of the '#{e}'" do
|
||||
|
@ -194,7 +194,7 @@ describe :kernel_float, shared: true do
|
|||
end
|
||||
|
||||
it "raises an ArgumentError if there's a decimal point on the right side of the '#{e}'" do
|
||||
lambda { @object.send(:Float, "20#{e}2.0") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "20#{e}2.0") }.should raise_error(ArgumentError)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -209,11 +209,11 @@ describe :kernel_float, shared: true do
|
|||
end
|
||||
|
||||
it "raises an ArgumentError if #{p} is the trailing character" do
|
||||
lambda { @object.send(:Float, "0x1#{p}") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "0x1#{p}") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an ArgumentError if #{p} is the leading character" do
|
||||
lambda { @object.send(:Float, "0x#{p}1") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "0x#{p}1") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "returns Infinity for '0x1#{p}10000'" do
|
||||
|
@ -231,18 +231,18 @@ describe :kernel_float, shared: true do
|
|||
end
|
||||
|
||||
it "raises an exception if a space is embedded on either side of the '#{p}'" do
|
||||
lambda { @object.send(:Float, "0x1 0#{p}10") }.should raise_error(ArgumentError)
|
||||
lambda { @object.send(:Float, "0x10#{p}1 0") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "0x1 0#{p}10") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "0x10#{p}1 0") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an exception if there's a leading _ on either side of the '#{p}'" do
|
||||
lambda { @object.send(:Float, "0x_10#{p}10") }.should raise_error(ArgumentError)
|
||||
lambda { @object.send(:Float, "0x10#{p}_10") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "0x_10#{p}10") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "0x10#{p}_10") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "raises an exception if there's a trailing _ on either side of the '#{p}'" do
|
||||
lambda { @object.send(:Float, "0x10_#{p}10") }.should raise_error(ArgumentError)
|
||||
lambda { @object.send(:Float, "0x10#{p}10_") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "0x10_#{p}10") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "0x10#{p}10_") }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it "allows hexadecimal points on the left side of the '#{p}'" do
|
||||
|
@ -250,7 +250,7 @@ describe :kernel_float, shared: true do
|
|||
end
|
||||
|
||||
it "raises an ArgumentError if there's a decimal point on the right side of the '#{p}'" do
|
||||
lambda { @object.send(:Float, "0x1#{p}1.0") }.should raise_error(ArgumentError)
|
||||
-> { @object.send(:Float, "0x1#{p}1.0") }.should raise_error(ArgumentError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -282,22 +282,22 @@ describe :kernel_float, shared: true do
|
|||
end
|
||||
|
||||
it "raises a TypeError if #to_f is not provided" do
|
||||
lambda { @object.send(:Float, mock('x')) }.should raise_error(TypeError)
|
||||
-> { @object.send(:Float, mock('x')) }.should raise_error(TypeError)
|
||||
end
|
||||
|
||||
it "raises a TypeError if #to_f returns a String" do
|
||||
(obj = mock('ha!')).should_receive(:to_f).once.and_return('ha!')
|
||||
lambda { @object.send(:Float, obj) }.should raise_error(TypeError)
|
||||
-> { @object.send(:Float, obj) }.should raise_error(TypeError)
|
||||
end
|
||||
|
||||
it "raises a TypeError if #to_f returns an Integer" do
|
||||
(obj = mock('123')).should_receive(:to_f).once.and_return(123)
|
||||
lambda { @object.send(:Float, obj) }.should raise_error(TypeError)
|
||||
-> { @object.send(:Float, obj) }.should raise_error(TypeError)
|
||||
end
|
||||
|
||||
it "raises a RangeError when passed a Complex argument" do
|
||||
c = Complex(2, 3)
|
||||
lambda { @object.send(:Float, c) }.should raise_error(RangeError)
|
||||
-> { @object.send(:Float, c) }.should raise_error(RangeError)
|
||||
end
|
||||
|
||||
ruby_version_is "2.6" do
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue