From 2810c12a99fed7297d558d8b1aaaf755eb8b8a2d Mon Sep 17 00:00:00 2001 From: mrkn Date: Wed, 5 Dec 2018 11:30:24 +0000 Subject: Import bigdecimal 1.4.0.pre.20181205a * https://github.com/ruby/bigdecimal/compare/74d25ef..v1.4.0.pre.20181205a git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- spec/ruby/library/bigdecimal/BigDecimal_spec.rb | 43 +++++++++++++++++++------ spec/ruby/library/bigdecimal/ver_spec.rb | 11 ------- 2 files changed, 33 insertions(+), 21 deletions(-) delete mode 100644 spec/ruby/library/bigdecimal/ver_spec.rb (limited to 'spec') diff --git a/spec/ruby/library/bigdecimal/BigDecimal_spec.rb b/spec/ruby/library/bigdecimal/BigDecimal_spec.rb index d278512737..52f026fb2b 100644 --- a/spec/ruby/library/bigdecimal/BigDecimal_spec.rb +++ b/spec/ruby/library/bigdecimal/BigDecimal_spec.rb @@ -34,11 +34,22 @@ describe "Kernel#BigDecimal" do BigDecimal(" \t\n \r-Infinity \n").infinite?.should == -1 end - it "ignores trailing garbage" do - BigDecimal("123E45ruby").should == BigDecimal("123E45") - BigDecimal("123x45").should == BigDecimal("123") - BigDecimal("123.4%E5").should == BigDecimal("123.4") - BigDecimal("1E2E3E4E5E").should == BigDecimal("100") + ruby_version_is ""..."2.6" do + it "ignores trailing garbage" do + BigDecimal("123E45ruby").should == BigDecimal("123E45") + BigDecimal("123x45").should == BigDecimal("123") + BigDecimal("123.4%E5").should == BigDecimal("123.4") + BigDecimal("1E2E3E4E5E").should == BigDecimal("100") + end + end + + ruby_version_is "2.6" do + it "does not ignores trailing garbage" do + lambda { BigDecimal("123E45ruby") }.should raise_error(ArgumentError) + lambda { BigDecimal("123x45") }.should raise_error(ArgumentError) + lambda { BigDecimal("123.4%E5") }.should raise_error(ArgumentError) + lambda { BigDecimal("1E2E3E4E5E") }.should raise_error(ArgumentError) + end end ruby_version_is ""..."2.4" do @@ -59,12 +70,24 @@ describe "Kernel#BigDecimal" do BigDecimal(".123").should == BigDecimal("0.123") end - it "allows for underscores in all parts" do - reference = BigDecimal("12345.67E89") + ruby_version_is ""..."2.6" do + it "allows for underscores in all parts" do + reference = BigDecimal("12345.67E89") - BigDecimal("12_345.67E89").should == reference - BigDecimal("1_2_3_4_5_._6____7_E89").should == reference - BigDecimal("12345_.67E_8__9_").should == reference + BigDecimal("12_345.67E89").should == reference + BigDecimal("1_2_3_4_5_._6____7_E89").should == reference + BigDecimal("12345_.67E_8__9_").should == reference + end + end + + ruby_version_is "2.6" do + it "process underscores as Float()" do + reference = BigDecimal("12345.67E89") + + BigDecimal("12_345.67E89").should == reference + lambda { BigDecimal("1_2_3_4_5_._6____7_E89") }.should raise_error(ArgumentError) + lambda { BigDecimal("12345_.67E_8__9_") }.should raise_error(ArgumentError) + end end it "accepts NaN and [+-]Infinity" do diff --git a/spec/ruby/library/bigdecimal/ver_spec.rb b/spec/ruby/library/bigdecimal/ver_spec.rb deleted file mode 100644 index 15c7099306..0000000000 --- a/spec/ruby/library/bigdecimal/ver_spec.rb +++ /dev/null @@ -1,11 +0,0 @@ -require_relative '../../spec_helper' -require 'bigdecimal' - -describe "BigDecimal.ver" do - - it "returns the Version number" do - lambda {BigDecimal.ver }.should_not raise_error() - BigDecimal.ver.should_not == nil - end - -end -- cgit v1.2.3