Skip to content

Commit

Permalink
merge revision(s) 63823,63839: [Backport #14890]
Browse files Browse the repository at this point in the history
	time.c: [DOC] Time#localtime

	* time.c: state that Time#localtime does nothing when nothing
	  changes.  [ruby-core:87675] [Bug #14880]

	skip test_localtime_zone if force_tz_test is false

	For example Solaris
	https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10x/ruby-trunk/log/20180703T091803Z.fail.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@66780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
nagachika committed Jan 10, 2019
1 parent 0e0d0c4 commit 4f0899d
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 1 deletion.
13 changes: 13 additions & 0 deletions spec/ruby/core/time/localtime_spec.rb
Expand Up @@ -90,6 +90,19 @@

t.utc_offset.should == -18000
end

it "does nothing if already in a local time zone" do
time = with_timezone("America/New_York") do
break Time.new(2005, 2, 27, 22, 50, 0)
end
zone = time.zone

with_timezone("Europe/Amsterdam") do
time.localtime
end

time.zone.should == zone
end
end

describe "with an argument that responds to #to_str" do
Expand Down
12 changes: 12 additions & 0 deletions test/ruby/test_time_tz.rb
Expand Up @@ -107,6 +107,18 @@ def assert_time_constructor(tz, expected, method, args, message=nil)
assert_equal(expected, real, m)
end

def test_localtime_zone
t = with_tz("America/Los_Angeles") {
Time.local(2000, 1, 1)
}
skip "force_tz_test is false on this environment" unless t
z1 = t.zone
z2 = with_tz(tz="Asia/Singapore") {
t.localtime.zone
}
assert_equal(z2, z1)
end

def test_america_los_angeles
with_tz(tz="America/Los_Angeles") {
assert_time_constructor(tz, "2007-03-11 03:00:00 -0700", :local, [2007,3,11,2,0,0])
Expand Down
3 changes: 3 additions & 0 deletions time.c
Expand Up @@ -3410,6 +3410,9 @@ time_localtime(VALUE time)
*
* t.localtime("+09:00") #=> 2000-01-02 05:15:01 +0900
* t.utc? #=> false
*
* If +utc_offset+ is not given and _time_ is local time, just return
* the receiver.
*/

static VALUE
Expand Down
2 changes: 1 addition & 1 deletion version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.5.4"
#define RUBY_RELEASE_DATE "2019-01-10"
#define RUBY_PATCHLEVEL 126
#define RUBY_PATCHLEVEL 127

#define RUBY_RELEASE_YEAR 2019
#define RUBY_RELEASE_MONTH 1
Expand Down

0 comments on commit 4f0899d

Please sign in to comment.