@@ -114,7 +114,8 @@ def zone.utc_to_local(time)
114
114
it "could be Time instance" do
115
115
zone = Object . new
116
116
def zone . utc_to_local ( t )
117
- Time . new ( t . year , t . mon , t . day , t . hour + 1 , t . min , t . sec , t . utc_offset )
117
+ time = Time . new ( t . year , t . mon , t . day , t . hour , t . min , t . sec , t . utc_offset )
118
+ time + 60 * 60 # + 1 hour
118
119
end
119
120
120
121
Time . now ( in : zone ) . should be_kind_of ( Time )
@@ -124,7 +125,10 @@ def zone.utc_to_local(t)
124
125
it "could be Time subclass instance" do
125
126
zone = Object . new
126
127
def zone . utc_to_local ( t )
127
- Class . new ( Time ) . new ( t . year , t . mon , t . day , t . hour + 1 , t . min , t . sec , t . utc_offset )
128
+ time = Time . new ( t . year , t . mon , t . day , t . hour , t . min , t . sec , t . utc_offset )
129
+ time += 60 * 60 # + 1 hour
130
+
131
+ Class . new ( Time ) . new ( time . year , time . mon , time . day , time . hour , time . min , time . sec , time . utc_offset )
128
132
end
129
133
130
134
Time . now ( in : zone ) . should be_kind_of ( Time )
@@ -166,7 +170,9 @@ def zone.utc_to_local(t)
166
170
it "raises ArgumentError if difference between argument and result is too large" do
167
171
zone = Object . new
168
172
def zone . utc_to_local ( t )
169
- Time . utc ( t . year , t . mon , t . day - 1 , t . hour , t . min , t . sec , t . utc_offset )
173
+ time = Time . utc ( t . year , t . mon , t . day , t . hour , t . min , t . sec , t . utc_offset )
174
+ time -= 24 * 60 * 60 # - 1 day
175
+ Time . utc ( time . year , time . mon , time . day , time . hour , time . min , time . sec , time . utc_offset )
170
176
end
171
177
172
178
-> {
0 commit comments