timecop 0.5.9.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/timecop/time_stack_item.rb +11 -8
- data/lib/timecop/timecop.rb +1 -1
- data/lib/timecop/version.rb +1 -1
- data/test/time_stack_item_test.rb +11 -1
- metadata +2 -2
@@ -50,21 +50,21 @@ class Timecop
|
|
50
50
|
@scaling_factor
|
51
51
|
end
|
52
52
|
|
53
|
-
def time(
|
53
|
+
def time(klass = time_klass) #:nodoc:
|
54
54
|
begin
|
55
|
-
actual_time =
|
56
|
-
calculated_time =
|
55
|
+
actual_time = klass.at(@time)
|
56
|
+
calculated_time = klass.at(@time.to_f)
|
57
57
|
time = times_are_equal_within_epsilon(actual_time, calculated_time, 1) ? actual_time : calculated_time
|
58
58
|
rescue
|
59
|
-
time =
|
59
|
+
time = klass.at(@time.to_f)
|
60
60
|
end
|
61
61
|
|
62
62
|
if travel_offset.nil?
|
63
63
|
time
|
64
64
|
elsif scaling_factor.nil?
|
65
|
-
|
65
|
+
klass.at(Time.now_without_mock_time + travel_offset)
|
66
66
|
else
|
67
|
-
|
67
|
+
klass.at(scaled_time)
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
@@ -103,7 +103,6 @@ class Timecop
|
|
103
103
|
end
|
104
104
|
|
105
105
|
def parse_time(*args)
|
106
|
-
time_klass = Time.respond_to?(:zone) && Time.zone ? Time.zone : Time
|
107
106
|
arg = args.shift
|
108
107
|
if arg.is_a?(Time)
|
109
108
|
if Timecop.active_support != false && arg.respond_to?(:in_time_zone)
|
@@ -151,5 +150,9 @@ class Timecop
|
|
151
150
|
def times_are_equal_within_epsilon t1, t2, epsilon_in_seconds
|
152
151
|
(t1 - t2).abs < epsilon_in_seconds
|
153
152
|
end
|
153
|
+
|
154
|
+
def time_klass
|
155
|
+
Time.respond_to?(:zone) ? Time.zone : Time
|
156
|
+
end
|
154
157
|
end
|
155
|
-
end
|
158
|
+
end
|
data/lib/timecop/timecop.rb
CHANGED
data/lib/timecop/version.rb
CHANGED
@@ -192,6 +192,16 @@ class TestTimeStackItem < Test::Unit::TestCase
|
|
192
192
|
end
|
193
193
|
end
|
194
194
|
|
195
|
+
def test_timezones_apply_dates
|
196
|
+
require 'active_support/all'
|
197
|
+
Time.zone = "Marshall Is."
|
198
|
+
time = Time.zone.local(2013,1,3)
|
199
|
+
|
200
|
+
Timecop.freeze(time) do
|
201
|
+
assert_equal time.to_date, Date.today
|
202
|
+
end
|
203
|
+
end
|
204
|
+
|
195
205
|
def test_set_scaling_factor_for_scale
|
196
206
|
t_now = Time.now
|
197
207
|
t = Time.local(2009, 10, 1, 0, 0, 30)
|
@@ -247,7 +257,7 @@ class TestTimeStackItem < Test::Unit::TestCase
|
|
247
257
|
|
248
258
|
def test_time_with_different_timezone
|
249
259
|
require 'active_support/all'
|
250
|
-
|
260
|
+
|
251
261
|
Time.zone = "Tokyo"
|
252
262
|
t = Time.now
|
253
263
|
Timecop.freeze(t) do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timecop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-03-08 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: A gem providing "time travel" and "time freezing" capabilities, making
|
16
16
|
it dead simple to test time-dependent code. It provides a unified method to mock
|