From: "kachick (Kenichi Kamiya)" Date: 2013-07-24T18:05:08+09:00 Subject: [ruby-dev:47539] [ruby-trunk - Bug #8679][Open] Time.newのutc_offset文字列で、 MMが60-99の場合にも例外を出して欲しい Issue #8679 has been reported by kachick (Kenichi Kamiya). ---------------------------------------- Bug #8679: Time.newのutc_offset文字列で、 MMが60-99の場合にも例外を出して欲しい https://bugs.ruby-lang.org/issues/8679 Author: kachick (Kenichi Kamiya) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux] Backport: 要望 --- Time.new へ utc_offset を表す文字列 "+HH:MM" "-HH:MM" が渡された時、 MM が 60-99 の場合にも ArgumentError を出して欲しい。 ### 期待する結果の例 Time.new(2000, 1, 1, 0, 0, 0, "+01:60") #=> "+HH:MM" or "-HH:MM" expected for utc_offset (ArgumentError) Time.new(2000, 1, 1, 0, 0, 0, "+01:99") #=> "+HH:MM" or "-HH:MM" expected for utc_offset (ArgumentError) 現状 ---- ### ArgumentError を出す例 Time.new(2000, 1, 1, 0, 0, 0, "+23:60") #=> utc_offset out of range (ArgumentError) Time.new(2000, 1, 1, 0, 0, 0, "+01:100") #=> "+HH:MM" or "-HH:MM" expected for utc_offset (ArgumentError) ### ArgumentError を出さない例 Time.new(2000, 1, 1, 0, 0, 0, "+01:60") #=> 2000-01-01 00:00:00 +0200 Time.new(2000, 1, 1, 0, 0, 0, "+01:99") #=> 2000-01-01 00:00:00 +0239 付記 ---- * 次の RubySpec が通らない事により気づいたのですが、 これに関しては RubySpec 側で記載された動作になってくれた方が嬉しいと思いました。 [RubySpec](https://github.com/rubyspec/rubyspec/commit/05564bdd92d9f36fcfc60f76f4f6b1f6c1171fe5) * [example-patch](https://github.com/kachick/ruby/commit/2c22e381a5080e0bd1b2a163f2f23f718e20d4b5) ### ruby -v * ruby 2.1.0dev (2013-07-23 trunk 42140) [i686-linux] * ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux] * ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux] * ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0] * ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.4.0] -- http://bugs.ruby-lang.org/