merge revision(s) 63823,63839: [Backport #14890]
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
This commit is contained in:
parent
0e0d0c47b8
commit
4f0899d4bb
|
@ -90,6 +90,19 @@ describe "Time#localtime" do
|
|||
|
||||
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
|
||||
|
|
|
@ -107,6 +107,18 @@ class TestTimeTZ < Test::Unit::TestCase
|
|||
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])
|
||||
|
|
3
time.c
3
time.c
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue