From 6583c96640c375141b955e0f6f45835095266361 Mon Sep 17 00:00:00 2001 From: Yukihiro Matz Matsumoto Date: Mon, 3 Dec 2012 12:16:37 +0900 Subject: Ruby's Time#yday should start from 1; close #581 --- test/t/time.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test') diff --git a/test/t/time.rb b/test/t/time.rb index ba4ceedc4..f92459d5e 100644 --- a/test/t/time.rb +++ b/test/t/time.rb @@ -177,7 +177,7 @@ if Object.const_defined?(:Time) end assert('Time#yday', '15.2.19.7.31') do - Time.gm(2012, 12, 23).yday == 357 + Time.gm(2012, 12, 23).yday == 358 end assert('Time#year', '15.2.19.7.32') do -- cgit v1.2.3 From 30d7c60cfd124cb86e9691f1d87f3478957afd4d Mon Sep 17 00:00:00 2001 From: Yukihiro Matz Matsumoto Date: Mon, 3 Dec 2012 23:35:21 +0900 Subject: Array#[]= should return assigning value; close #584 --- src/array.c | 13 +++++-------- test/t/array.rb | 4 ++-- 2 files changed, 7 insertions(+), 10 deletions(-) (limited to 'test') diff --git a/src/array.c b/src/array.c index ea461e029..d4f5d1c5e 100644 --- a/src/array.c +++ b/src/array.c @@ -719,24 +719,21 @@ mrb_ary_aset(mrb_state *mrb, mrb_value self) mrb_get_args(mrb, "*", &argv, &argc); switch(argc) { case 2: - if (mrb_fixnum_p(argv[0])) { - mrb_ary_set(mrb, self, mrb_fixnum(argv[0]), argv[1]); - } - else { + if (!mrb_fixnum_p(argv[0])) { /* Should we support Range object for 1st arg ? */ mrb_raise(mrb, E_TYPE_ERROR, "expected Fixnum for 1st argument"); } - break; + mrb_ary_set(mrb, self, mrb_fixnum(argv[0]), argv[1]); + return argv[1]; case 3: mrb_ary_splice(mrb, self, mrb_fixnum(argv[0]), mrb_fixnum(argv[1]), argv[2]); - break; + return argv[2]; default: mrb_raise(mrb, E_ARGUMENT_ERROR, "wrong number of arguments"); + return mrb_nil_value(); } - - return self; } mrb_value diff --git a/test/t/array.rb b/test/t/array.rb index 560faf8e7..90fa85c7f 100644 --- a/test/t/array.rb +++ b/test/t/array.rb @@ -74,8 +74,8 @@ assert('Array#[]=', '15.2.12.5.5') do e3 = e1 end - [1,2,3].[]=(1,4) == [1, 4, 3] and - [1,2,3].[]=(1,2,3) == [1, 3] and + [1,2,3].[]=(1,4) == 4 and + [1,2,3].[]=(1,2,3) == 3 and e2.class == ArgumentError and e3.class == ArgumentError end -- cgit v1.2.3