From ea68278fe39f0b7f7dba6a34ae8bf6d4acb94fb5 Mon Sep 17 00:00:00 2001 From: mrkn Date: Sun, 24 Dec 2017 06:22:41 +0000 Subject: [PATCH] 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 --- ext/bigdecimal/bigdecimal.c | 14 +++----------- ext/bigdecimal/bigdecimal.gemspec | 2 +- test/bigdecimal/test_bigdecimal.rb | 14 +++++++------- 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c index fcc29a0865..cdd00388d4 100644 --- a/ext/bigdecimal/bigdecimal.c +++ b/ext/bigdecimal/bigdecimal.c @@ -2602,7 +2602,7 @@ static Real *BigDecimal_new(int argc, VALUE *argv); static VALUE 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); } @@ -2645,15 +2645,7 @@ BigDecimal_initialize_copy(VALUE self, VALUE other) static VALUE BigDecimal_clone(VALUE self) { - rb_warning("BigDecimal#clone is deprecated."); - return rb_call_super(0, NULL); -} - -static VALUE -BigDecimal_dup(VALUE self) -{ - rb_warning("BigDecimal#dup is deprecated."); - return rb_call_super(0, NULL); + return self; } static Real * @@ -3449,7 +3441,7 @@ Init_bigdecimal(void) rb_define_method(rb_cBigDecimal, "remainder", BigDecimal_remainder, 1); rb_define_method(rb_cBigDecimal, "divmod", BigDecimal_divmod, 1); 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, "abs", BigDecimal_abs, 0); rb_define_method(rb_cBigDecimal, "sqrt", BigDecimal_sqrt, 1); diff --git a/ext/bigdecimal/bigdecimal.gemspec b/ext/bigdecimal/bigdecimal.gemspec index c1f7da493b..c8c90870ea 100644 --- a/ext/bigdecimal/bigdecimal.gemspec +++ b/ext/bigdecimal/bigdecimal.gemspec @@ -1,6 +1,6 @@ # coding: utf-8 -bigdecimal_version = '1.3.3' +bigdecimal_version = '1.3.4' Gem::Specification.new do |s| s.name = "bigdecimal" diff --git a/test/bigdecimal/test_bigdecimal.rb b/test/bigdecimal/test_bigdecimal.rb index 6d0430dfc7..595783c63d 100644 --- a/test/bigdecimal/test_bigdecimal.rb +++ b/test/bigdecimal/test_bigdecimal.rb @@ -2,8 +2,6 @@ require_relative "testbase" require 'bigdecimal/math' -require 'thread' - class TestBigDecimal < Test::Unit::TestCase include TestBigDecimalBase @@ -1777,25 +1775,27 @@ class TestBigDecimal < Test::Unit::TestCase end def test_clone - assert_warning(/BigDecimal#clone is deprecated/) do - BigDecimal(0).clone + assert_warning(/^$/) do + x = BigDecimal(0) + assert_same(x, x.clone) end end def test_dup - assert_warning(/BigDecimal#dup is deprecated/) do + assert_warning(/^$/) do [1, -1, 2**100, -2**100].each do |i| x = BigDecimal(i) - assert_equal(x, x.dup) + assert_same(x, x.dup) end end end def test_dup_subclass - assert_warning(/BigDecimal#dup is deprecated/) do + assert_warning(/BigDecimal\.new is deprecated/) do c = Class.new(BigDecimal) x = c.new(1) y = x.dup + assert_same(x, y) assert_equal(1, y) assert_kind_of(c, y) end