bigdecimal: version 1.3.4

Import bigdecimal version 1.3.4.  The full commit log is here:

  https://github.com/ruby/bigdecimal/compare/v1.3.3...v1.3.4

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mrkn 2017-12-24 06:22:41 +00:00
parent 9f68d0f591
commit ea68278fe3
3 changed files with 11 additions and 19 deletions

View file

@ -2602,7 +2602,7 @@ static Real *BigDecimal_new(int argc, VALUE *argv);
static VALUE static VALUE
BigDecimal_s_new(int argc, VALUE *argv, VALUE self) BigDecimal_s_new(int argc, VALUE *argv, VALUE self)
{ {
rb_warning("BigDecimal.new is deprecated"); rb_warning("BigDecimal.new is deprecated; use Kernel.BigDecimal method instead.");
return rb_call_super(argc, argv); return rb_call_super(argc, argv);
} }
@ -2645,15 +2645,7 @@ BigDecimal_initialize_copy(VALUE self, VALUE other)
static VALUE static VALUE
BigDecimal_clone(VALUE self) BigDecimal_clone(VALUE self)
{ {
rb_warning("BigDecimal#clone is deprecated."); return self;
return rb_call_super(0, NULL);
}
static VALUE
BigDecimal_dup(VALUE self)
{
rb_warning("BigDecimal#dup is deprecated.");
return rb_call_super(0, NULL);
} }
static Real * static Real *
@ -3449,7 +3441,7 @@ Init_bigdecimal(void)
rb_define_method(rb_cBigDecimal, "remainder", BigDecimal_remainder, 1); rb_define_method(rb_cBigDecimal, "remainder", BigDecimal_remainder, 1);
rb_define_method(rb_cBigDecimal, "divmod", BigDecimal_divmod, 1); rb_define_method(rb_cBigDecimal, "divmod", BigDecimal_divmod, 1);
rb_define_method(rb_cBigDecimal, "clone", BigDecimal_clone, 0); rb_define_method(rb_cBigDecimal, "clone", BigDecimal_clone, 0);
rb_define_method(rb_cBigDecimal, "dup", BigDecimal_dup, 0); rb_define_method(rb_cBigDecimal, "dup", BigDecimal_clone, 0);
rb_define_method(rb_cBigDecimal, "to_f", BigDecimal_to_f, 0); rb_define_method(rb_cBigDecimal, "to_f", BigDecimal_to_f, 0);
rb_define_method(rb_cBigDecimal, "abs", BigDecimal_abs, 0); rb_define_method(rb_cBigDecimal, "abs", BigDecimal_abs, 0);
rb_define_method(rb_cBigDecimal, "sqrt", BigDecimal_sqrt, 1); rb_define_method(rb_cBigDecimal, "sqrt", BigDecimal_sqrt, 1);

View file

@ -1,6 +1,6 @@
# coding: utf-8 # coding: utf-8
bigdecimal_version = '1.3.3' bigdecimal_version = '1.3.4'
Gem::Specification.new do |s| Gem::Specification.new do |s|
s.name = "bigdecimal" s.name = "bigdecimal"

View file

@ -2,8 +2,6 @@
require_relative "testbase" require_relative "testbase"
require 'bigdecimal/math' require 'bigdecimal/math'
require 'thread'
class TestBigDecimal < Test::Unit::TestCase class TestBigDecimal < Test::Unit::TestCase
include TestBigDecimalBase include TestBigDecimalBase
@ -1777,25 +1775,27 @@ class TestBigDecimal < Test::Unit::TestCase
end end
def test_clone def test_clone
assert_warning(/BigDecimal#clone is deprecated/) do assert_warning(/^$/) do
BigDecimal(0).clone x = BigDecimal(0)
assert_same(x, x.clone)
end end
end end
def test_dup def test_dup
assert_warning(/BigDecimal#dup is deprecated/) do assert_warning(/^$/) do
[1, -1, 2**100, -2**100].each do |i| [1, -1, 2**100, -2**100].each do |i|
x = BigDecimal(i) x = BigDecimal(i)
assert_equal(x, x.dup) assert_same(x, x.dup)
end end
end end
end end
def test_dup_subclass def test_dup_subclass
assert_warning(/BigDecimal#dup is deprecated/) do assert_warning(/BigDecimal\.new is deprecated/) do
c = Class.new(BigDecimal) c = Class.new(BigDecimal)
x = c.new(1) x = c.new(1)
y = x.dup y = x.dup
assert_same(x, y)
assert_equal(1, y) assert_equal(1, y)
assert_kind_of(c, y) assert_kind_of(c, y)
end end