[前][次][番号順一覧][スレッド一覧]

ruby-changes:17356

From: mrkn <ko1@a...>
Date: Wed, 29 Sep 2010 13:32:27 +0900 (JST)
Subject: [ruby-changes:17356] Ruby:r29361 (trunk): * ext/bigdecimal/bigdecimal.c (BigDecimal_save_rounding_mode):

mrkn	2010-09-29 13:32:20 +0900 (Wed, 29 Sep 2010)

  New Revision: 29361

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29361

  Log:
    * ext/bigdecimal/bigdecimal.c (BigDecimal_save_rounding_mode):
      return the result of a block.
    * test/bigdecimal/test_bigdecimal.rb (test_save_rounding_mode):
      add a test for the above change.
    * test/bigdecimal/test_bigdecimal.rb (test_save_exception_mode):
      add a test for the return value of BigDecimal.save_exception_mode.

  Modified files:
    trunk/ChangeLog
    trunk/ext/bigdecimal/bigdecimal.c
    trunk/test/bigdecimal/test_bigdecimal.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29360)
+++ ChangeLog	(revision 29361)
@@ -1,3 +1,14 @@
+Wed Sep 29 13:26:30 2010  Kenta Murata <mrkn@m...>
+
+	* ext/bigdecimal/bigdecimal.c (BigDecimal_save_rounding_mode):
+	  return the result of a block.
+
+	* test/bigdecimal/test_bigdecimal.rb (test_save_rounding_mode):
+	  add a test for the above change.
+
+	* test/bigdecimal/test_bigdecimal.rb (test_save_exception_mode):
+	  add a test for the return value of BigDecimal.save_exception_mode.
+
 Wed Sep 29 12:45:30 2010  NAKAMURA Usaku  <usa@r...>
 
 	* ext/bigdecimal/bigdecimal.c (BigDecimal_div2, BigDecimal_add2,
Index: ext/bigdecimal/bigdecimal.c
===================================================================
--- ext/bigdecimal/bigdecimal.c	(revision 29360)
+++ ext/bigdecimal/bigdecimal.c	(revision 29361)
@@ -1864,7 +1864,7 @@
     VALUE ret = rb_protect(rb_yield, Qnil, &state);
     VpSetRoundMode(round_mode);
     if (state) rb_jump_tag(state);
-    return Qnil;
+    return ret;
 }
 
 /* call-seq:
Index: test/bigdecimal/test_bigdecimal.rb
===================================================================
--- test/bigdecimal/test_bigdecimal.rb	(revision 29360)
+++ test/bigdecimal/test_bigdecimal.rb	(revision 29361)
@@ -112,6 +112,8 @@
       BigDecimal.mode(BigDecimal::ROUND_MODE, BigDecimal::ROUND_HALF_EVEN)
     end
     assert_equal(BigDecimal::ROUND_HALF_EVEN, BigDecimal.mode(BigDecimal::ROUND_MODE))
+
+    assert_equal(42, BigDecimal.save_exception_mode { 42 })
   end
 
   def test_save_rounding_mode
@@ -120,6 +122,8 @@
       BigDecimal.mode(BigDecimal::ROUND_MODE, BigDecimal::ROUND_HALF_EVEN)
     end
     assert_equal(BigDecimal::ROUND_FLOOR, BigDecimal.mode(BigDecimal::ROUND_MODE))
+
+    assert_equal(42, BigDecimal.save_rounding_mode { 42 })
   end
 
   def test_save_limit

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]