summaryrefslogtreecommitdiff
path: root/spec/ruby/core/kernel/Float_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/kernel/Float_spec.rb')
-rw-r--r--spec/ruby/core/kernel/Float_spec.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/ruby/core/kernel/Float_spec.rb b/spec/ruby/core/kernel/Float_spec.rb
index 47d7d0816f..43daefa6aa 100644
--- a/spec/ruby/core/kernel/Float_spec.rb
+++ b/spec/ruby/core/kernel/Float_spec.rb
@@ -299,6 +299,31 @@ describe :kernel_float, shared: true do
c = Complex(2, 3)
lambda { @object.send(:Float, c) }.should raise_error(RangeError)
end
+
+ ruby_version_is "2.6" do
+ describe "when passed exception: false" do
+ describe "and valid input" do
+ it "returns a Float number" do
+ @object.send(:Float, 1, exception: false).should == 1.0
+ @object.send(:Float, "1", exception: false).should == 1.0
+ @object.send(:Float, "1.23", exception: false).should == 1.23
+ end
+ end
+
+ describe "and invalid input" do
+ it "swallows an error" do
+ @object.send(:Float, "abc", exception: false).should == nil
+ @object.send(:Float, :sym, exception: false).should == nil
+ end
+ end
+
+ describe "and nil" do
+ it "swallows it" do
+ @object.send(:Float, nil, exception: false).should == nil
+ end
+ end
+ end
+ end
end
describe "Kernel.Float" do