diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-05 14:03:34 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-05 14:03:34 +0000 |
commit | 5fa7cdbde54bed9bda3f9de20d621989a19ddc3b (patch) | |
tree | fdb4f26212caebd3f88b3869e2e5b4ca9106e51f | |
parent | 2d8841791facb07155c710d8a7db7b0bf8be0d21 (diff) | |
download | ruby-5fa7cdbde54bed9bda3f9de20d621989a19ddc3b.tar.gz |
Time.parse's "now" argument as nil works again.
* lib/time.rb (make_time): "now" argument as nil works again.
This is broken since Ruby 2.2.
Mathieu Jobin pointed a problem.
https://github.com/ruby/ruby/commit/e4b05d91eb0d48fd172abf015c493bb42d755d07#commitcomment-17421387
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | lib/time.rb | 16 | ||||
-rw-r--r-- | test/test_time.rb | 5 |
3 files changed, 22 insertions, 6 deletions
@@ -1,3 +1,10 @@ +Sat Nov 5 22:51:06 2016 Tanaka Akira <akr@fsij.org> + + * lib/time.rb (make_time): "now" argument as nil works again. + This is broken since Ruby 2.2. + Mathieu Jobin pointed a problem. + https://github.com/ruby/ruby/commit/e4b05d91eb0d48fd172abf015c493bb42d755d07#commitcomment-17421387 + Sat Nov 5 22:50:13 2016 Akinori MUSHA <knu@iDaemons.org> * lib/ipaddr.rb (IPAddr#==): If coercion fails, return false diff --git a/lib/time.rb b/lib/time.rb index 69e524fd61..5179e9fee4 100644 --- a/lib/time.rb +++ b/lib/time.rb @@ -254,14 +254,18 @@ class Time raise ArgumentError, "no time information in #{date.inspect}" end - off_year = year || now.year off = nil - off = zone_offset(zone, off_year) if zone + if year || now + off_year = year || now.year + off = zone_offset(zone, off_year) if zone + end - if off - now = now.getlocal(off) if now.utc_offset != off - else - now = now.getlocal + if now + if off + now = now.getlocal(off) if now.utc_offset != off + else + now = now.getlocal + end end usec = nil diff --git a/test/test_time.rb b/test/test_time.rb index 0a6659f152..398ab7279b 100644 --- a/test/test_time.rb +++ b/test/test_time.rb @@ -338,6 +338,11 @@ class TestTimeExtension < Test::Unit::TestCase # :nodoc: assert_equal(t1.utc?, t2.utc?) end + def test_parse_now_nil + assert_equal(Time.new(2000,1,1,0,0,0,"+11:00"), + Time.parse("2000-01-01T00:00:00+11:00", nil)) + end + def test_parse_leap_second t = Time.utc(1998,12,31,23,59,59) assert_equal(t, Time.parse("Thu Dec 31 23:59:59 UTC 1998")) |