timecop 0.5.2 → 0.9.5

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/test/timecop_test.rb CHANGED
@@ -1,28 +1,28 @@
1
- require 'date'
2
- require 'test_helper'
3
- require File.join(File.dirname(__FILE__), '..', 'lib', 'timecop')
1
+ require_relative "test_helper"
2
+ require 'timecop'
4
3
 
5
- class TestTimecop < Test::Unit::TestCase
6
-
7
- def setup
8
-
9
- end
10
-
11
- # just in case...let's really make sure that Timecop is disabled between tests...
4
+ class TestTimecop < Minitest::Test
12
5
  def teardown
13
6
  Timecop.return
14
7
  end
15
8
 
16
9
  def test_freeze_changes_and_resets_time
17
- # depending on how we're invoked (individually or via the rake test suite)
18
- assert !Time.respond_to?(:zone) || Time.zone.nil?
19
-
20
- t = Time.local(2008, 10, 10, 10, 10, 10)
21
- assert_not_equal t, Time.now
22
- Timecop.freeze(2008, 10, 10, 10, 10, 10) do
23
- assert_equal t, Time.now
10
+ outer_freeze_time = Time.local(2001, 01, 01)
11
+ inner_freeze_block = Time.local(2002, 02, 02)
12
+ inner_freeze_one = Time.local(2003, 03, 03)
13
+ inner_freeze_two = Time.local(2004, 04, 04)
14
+
15
+ Timecop.freeze(outer_freeze_time) do
16
+ assert_times_effectively_equal outer_freeze_time, Time.now
17
+ Timecop.freeze(inner_freeze_block) do
18
+ assert_times_effectively_equal inner_freeze_block, Time.now
19
+ Timecop.freeze(inner_freeze_one)
20
+ assert_times_effectively_equal inner_freeze_one, Time.now
21
+ Timecop.freeze(inner_freeze_two)
22
+ assert_times_effectively_equal inner_freeze_two, Time.now
23
+ end
24
+ assert_times_effectively_equal outer_freeze_time, Time.now
24
25
  end
25
- assert_not_equal t, Time.now
26
26
  end
27
27
 
28
28
  def test_freeze_yields_mocked_time
@@ -30,13 +30,19 @@ class TestTimecop < Test::Unit::TestCase
30
30
  assert_equal frozen_time, Time.now
31
31
  end
32
32
  end
33
-
33
+
34
34
  def test_freeze_then_return_unsets_mock_time
35
35
  Timecop.freeze(1)
36
36
  Timecop.return
37
37
  assert_nil Time.send(:mock_time)
38
38
  end
39
39
 
40
+ def test_freeze_then_unfreeze_unsets_mock_time
41
+ Timecop.freeze(1)
42
+ Timecop.unfreeze
43
+ assert_nil Time.send(:mock_time)
44
+ end
45
+
40
46
  def test_travel_then_return_unsets_mock_time
41
47
  Timecop.travel(1)
42
48
  Timecop.return
@@ -58,8 +64,11 @@ class TestTimecop < Test::Unit::TestCase
58
64
  def test_travel_does_not_reduce_precision_of_datetime
59
65
  # requires to_r on Float (>= 1.9)
60
66
  if Float.method_defined?(:to_r)
61
- Timecop.travel(1)
62
- assert_not_equal DateTime.now, DateTime.now
67
+ Timecop.travel(Time.new(2014, 1, 1, 0, 0, 0))
68
+ assert DateTime.now != DateTime.now
69
+
70
+ Timecop.travel(Time.new(2014, 1, 1, 0, 0, 59))
71
+ assert DateTime.now != DateTime.now
63
72
  end
64
73
  end
65
74
 
@@ -68,6 +77,7 @@ class TestTimecop < Test::Unit::TestCase
68
77
  custom_timeklass = Class.new(Time) do
69
78
  def custom_format_method() strftime('%F') end
70
79
  end
80
+
71
81
  Timecop.freeze(2008, 10, 10, 10, 10, 10) do
72
82
  assert custom_timeklass.now.is_a? custom_timeklass
73
83
  assert Time.now.eql? custom_timeklass.now
@@ -80,6 +90,7 @@ class TestTimecop < Test::Unit::TestCase
80
90
  custom_dateklass = Class.new(Date) do
81
91
  def custom_format_method() strftime('%F') end
82
92
  end
93
+
83
94
  Timecop.freeze(2008, 10, 10, 10, 10, 10) do
84
95
  assert custom_dateklass.today.is_a? custom_dateklass
85
96
  assert Date.today.eql? custom_dateklass.today
@@ -92,6 +103,7 @@ class TestTimecop < Test::Unit::TestCase
92
103
  custom_datetimeklass = Class.new(DateTime) do
93
104
  def custom_format_method() strftime('%F') end
94
105
  end
106
+
95
107
  Timecop.freeze(2008, 10, 10, 10, 10, 10) do
96
108
  assert custom_datetimeklass.now.is_a? custom_datetimeklass
97
109
  assert DateTime.now.eql? custom_datetimeklass.now
@@ -109,7 +121,7 @@ class TestTimecop < Test::Unit::TestCase
109
121
  end
110
122
  assert_equal t, Time.now
111
123
  end
112
- assert_not_equal t, Time.now
124
+ assert t != Time.now
113
125
  end
114
126
 
115
127
  def test_freeze_with_time_instance_works_as_expected
@@ -119,9 +131,10 @@ class TestTimecop < Test::Unit::TestCase
119
131
  assert_date_times_equal DateTime.new(2008, 10, 10, 10, 10, 10, local_offset), DateTime.now
120
132
  assert_equal Date.new(2008, 10, 10), Date.today
121
133
  end
122
- assert_not_equal t, Time.now
123
- assert_not_equal DateTime.new(2008, 10, 10, 10, 10, 10, local_offset), DateTime.now
124
- assert_not_equal Date.new(2008, 10, 10), Date.today
134
+
135
+ assert t != Time.now
136
+ assert DateTime.new(2008, 10, 10, 10, 10, 10, local_offset) != DateTime.now
137
+ assert Date.new(2008, 10, 10) != Date.today
125
138
  end
126
139
 
127
140
  def test_freeze_with_datetime_on_specific_timezone_during_dst
@@ -133,7 +146,6 @@ class TestTimecop < Test::Unit::TestCase
133
146
  Timecop.freeze(t) do
134
147
  assert_date_times_equal t, DateTime.now
135
148
  end
136
- # Undo the original freeze
137
149
  Timecop.return
138
150
  end
139
151
  end
@@ -181,9 +193,9 @@ class TestTimecop < Test::Unit::TestCase
181
193
  assert_equal Time.local(2008, 10, 10, 0, 0, 0), Time.now
182
194
  assert_date_times_equal DateTime.new(2008, 10, 10, 0, 0, 0, local_offset), DateTime.now
183
195
  end
184
- assert_not_equal d, Date.today
185
- assert_not_equal Time.local(2008, 10, 10, 0, 0, 0), Time.now
186
- assert_not_equal DateTime.new(2008, 10, 10, 0, 0, 0, local_offset), DateTime.now
196
+ assert d != Date.today
197
+ assert Time.local(2008, 10, 10, 0, 0, 0) != Time.now
198
+ assert DateTime.new(2008, 10, 10, 0, 0, 0, local_offset) != DateTime.now
187
199
  end
188
200
 
189
201
  def test_freeze_with_integer_instance_works_as_expected
@@ -198,9 +210,9 @@ class TestTimecop < Test::Unit::TestCase
198
210
  assert_equal Date.new(2008, 10, 10), Date.today
199
211
  end
200
212
  end
201
- assert_not_equal t, Time.now
202
- assert_not_equal DateTime.new(2008, 10, 10, 10, 10, 10), DateTime.now
203
- assert_not_equal Date.new(2008, 10, 10), Date.today
213
+ assert t != Time.now
214
+ assert DateTime.new(2008, 10, 10, 10, 10, 10) != DateTime.now
215
+ assert Date.new(2008, 10, 10) != Date.today
204
216
  end
205
217
 
206
218
  def test_exception_thrown_in_freeze_block_properly_resets_time
@@ -211,11 +223,19 @@ class TestTimecop < Test::Unit::TestCase
211
223
  raise "blah exception"
212
224
  end
213
225
  rescue
214
- assert_not_equal t, Time.now
226
+ assert t != Time.now
215
227
  assert_nil Time.send(:mock_time)
216
228
  end
217
229
  end
218
230
 
231
+ def test_exception_thrown_in_return_block_restores_previous_time
232
+ t = Time.local(2008, 10, 10, 10, 10, 10)
233
+ Timecop.freeze(t) do
234
+ Timecop.return { raise 'foobar' } rescue nil
235
+ assert_equal t, Time.now
236
+ end
237
+ end
238
+
219
239
  def test_freeze_freezes_time
220
240
  t = Time.local(2008, 10, 10, 10, 10, 10)
221
241
  now = Time.now
@@ -237,7 +257,7 @@ class TestTimecop < Test::Unit::TestCase
237
257
  new_now = Time.now
238
258
  assert_times_effectively_equal(new_now, t, 1, "Looks like we failed to actually travel time")
239
259
  sleep(0.25)
240
- assert_times_effectively_not_equal new_now, Time.now, 0.25, "Looks like time is not moving"
260
+ assert_times_effectively_not_equal new_now, Time.now, 0.24, "Looks like time is not moving"
241
261
  end
242
262
  end
243
263
 
@@ -245,12 +265,17 @@ class TestTimecop < Test::Unit::TestCase
245
265
  each_timezone do
246
266
  t = DateTime.parse("2009-10-11 00:38:00 +0200")
247
267
  Timecop.freeze(t) do
268
+ if ENV['TZ'] == 'UTC'
269
+ assert_equal(local_offset, 0, "Local offset not be zero for #{ENV['TZ']}")
270
+ else
271
+ assert(local_offset, 0 != "Local offset should not be zero for #{ENV['TZ']}")
272
+ end
248
273
  assert_equal local_offset, DateTime.now.offset, "Failed for timezone: #{ENV['TZ']}"
249
274
  end
250
275
  end
251
276
  end
252
277
 
253
- def test_lensing_keeps_time_moving_at_an_accelerated_rate
278
+ def test_scaling_keeps_time_moving_at_an_accelerated_rate
254
279
  t = Time.local(2008, 10, 10, 10, 10, 10)
255
280
  Timecop.scale(4, t) do
256
281
  start = Time.now
@@ -260,6 +285,22 @@ class TestTimecop < Test::Unit::TestCase
260
285
  end
261
286
  end
262
287
 
288
+ def test_scaling_returns_now_if_no_block_given
289
+ t = Time.local(2008, 10, 10, 10, 10, 10)
290
+ assert_times_effectively_equal t, Timecop.scale(4, t)
291
+ end
292
+
293
+ def test_scaling_returns_now_if_nil_supplied
294
+ assert_times_effectively_equal Time.now, Timecop.scale(nil)
295
+ end
296
+
297
+ def test_scaling_raises_when_empty_string_supplied
298
+ err = assert_raises(TypeError) do
299
+ Timecop.scale("")
300
+ end
301
+ assert_match /String can't be coerced into Float/, err.message
302
+ end
303
+
263
304
  def test_freeze_with_utc_time
264
305
  each_timezone do
265
306
  t = Time.utc(2008, 10, 10, 10, 10, 10)
@@ -270,6 +311,19 @@ class TestTimecop < Test::Unit::TestCase
270
311
  end
271
312
  end
272
313
 
314
+ def test_freeze_without_arguments_instance_works_as_expected
315
+ t = Time.local(2008, 10, 10, 10, 10, 10)
316
+ Timecop.freeze(t) do
317
+ assert_equal t, Time.now
318
+ Timecop.freeze do
319
+ assert_equal t, Time.now
320
+ assert_equal Time.local(2008, 10, 10, 10, 10, 10), Time.now
321
+ assert_equal Date.new(2008, 10, 10), Date.today
322
+ end
323
+ end
324
+ assert t != Time.now
325
+ end
326
+
273
327
  def test_destructive_methods_on_frozen_time
274
328
  # Use any time zone other than UTC.
275
329
  ENV['TZ'] = 'EST'
@@ -300,13 +354,13 @@ class TestTimecop < Test::Unit::TestCase
300
354
  end
301
355
 
302
356
  def test_recursive_travel_yields_correct_time
303
- Timecop.travel(2008, 10, 10, 10, 10, 10) do
357
+ Timecop.travel(2008, 10, 10, 10, 10, 10) do
304
358
  Timecop.travel(2008, 9, 9, 9, 9, 9) do |inner_freeze|
305
359
  assert_times_effectively_equal inner_freeze, Time.now, 1, "Failed to yield current time back to block"
306
360
  end
307
361
  end
308
362
  end
309
-
363
+
310
364
  def test_recursive_travel_then_freeze
311
365
  t = Time.local(2008, 10, 10, 10, 10, 10)
312
366
  Timecop.travel(2008, 10, 10, 10, 10, 10) do
@@ -334,9 +388,26 @@ class TestTimecop < Test::Unit::TestCase
334
388
  assert_nil Time.send(:mock_time)
335
389
  end
336
390
 
337
- def test_travel_time_returns_nil
391
+ def test_travel_time_returns_now_if_no_block_given
338
392
  t_future = Time.local(2030, 10, 10, 10, 10, 10)
339
- assert_nil Timecop.travel(t_future)
393
+ assert_times_effectively_equal t_future, Timecop.travel(t_future)
394
+ end
395
+
396
+ def test_return_temporarily_returns_to_current_time_in_given_block
397
+ time_after_travel = Time.local(1990, 7, 16)
398
+ now = Time.now
399
+
400
+ Timecop.travel(time_after_travel)
401
+
402
+ assert_times_effectively_equal(time_after_travel, Time.now)
403
+ Timecop.return do
404
+ assert_times_effectively_equal(now, Time.now)
405
+ end
406
+ assert_times_effectively_equal(time_after_travel, Time.now)
407
+ end
408
+
409
+ def test_travel_returns_now_if_nil_supplied
410
+ assert_times_effectively_equal Time.now, Timecop.travel(nil)
340
411
  end
341
412
 
342
413
  def test_travel_time_with_block_returns_the_value_of_the_block
@@ -346,10 +417,17 @@ class TestTimecop < Test::Unit::TestCase
346
417
 
347
418
  assert_equal expected, actual
348
419
  end
420
+
421
+ def test_travel_raises_when_empty_string_supplied
422
+ err = assert_raises(ArgumentError) do
423
+ Timecop.travel("")
424
+ end
425
+ assert_match /no time information in \"\"/, err.message
426
+ end
349
427
 
350
- def test_freeze_time_returns_nil
428
+ def test_freeze_time_returns_now_if_no_block_given
351
429
  t_future = Time.local(2030, 10, 10, 10, 10, 10)
352
- assert_nil Timecop.freeze(t_future)
430
+ assert_times_effectively_equal t_future, Timecop.freeze(t_future)
353
431
  end
354
432
 
355
433
  def test_freeze_time_with_block_returns_the_value_of_the_block
@@ -372,6 +450,17 @@ class TestTimecop < Test::Unit::TestCase
372
450
  end
373
451
  end
374
452
  end
453
+
454
+ def test_freeze_returns_now_if_nil_supplied
455
+ assert_times_effectively_equal Time.now, Timecop.freeze(nil)
456
+ end
457
+
458
+ def test_freeze_raises_when_empty_string_supplied
459
+ err = assert_raises(ArgumentError) do
460
+ Timecop.freeze("")
461
+ end
462
+ assert_match /no time information in \"\"/, err.message
463
+ end
375
464
 
376
465
  def test_freeze_with_new_date
377
466
  date = Date.new(2012, 6, 9)
@@ -413,4 +502,121 @@ class TestTimecop < Test::Unit::TestCase
413
502
  assert_equal date, Time.now
414
503
  assert_equal date, Time.new
415
504
  end
505
+
506
+ def test_not_callable_send_travel
507
+ assert_raises NoMethodError do
508
+ Timecop.send_travel(:travel, Time.now - 100)
509
+ end
510
+ end
511
+
512
+ def test_datetime_to_time_for_dst_to_non_dst
513
+ # Start at a time subject to DST
514
+ Timecop.travel(2009, 4, 1, 0, 0, 0, -4*60*60) do
515
+
516
+ # Then freeze, via DateTime, at a time not subject to DST
517
+ t = DateTime.new(2009,01,01,0,0,0, "-0500")
518
+ Timecop.freeze(t) do
519
+
520
+ # Check the current time via DateTime.now--should be what we asked for
521
+ assert_date_times_equal t, DateTime.now
522
+
523
+ # Then check the current time via Time.now (not DateTime.now)
524
+ assert_times_effectively_equal Time.new(2009, 1, 1, 0, 0, 0, -5*60*60), Time.now
525
+ end
526
+ end
527
+ end
528
+
529
+ def test_raises_when_safe_mode_and_no_block
530
+ with_safe_mode do
531
+ assert_raises Timecop::SafeModeException do
532
+ Timecop.freeze
533
+ end
534
+ end
535
+ end
536
+
537
+ def test_raises_when_safe_mode_and_no_block_though_previously_block_given
538
+ Timecop.freeze do
539
+ Timecop.freeze
540
+ end
541
+
542
+ with_safe_mode do
543
+ assert_raises Timecop::SafeModeException do
544
+ Timecop.freeze
545
+ end
546
+ end
547
+ end
548
+
549
+ def test_no_raise_when_safe_mode_and_block_used
550
+ with_safe_mode do
551
+ Timecop.freeze {}
552
+ end
553
+ end
554
+
555
+ def test_no_raise_when_not_safe_mode_and_no_block
556
+ with_safe_mode(false) do
557
+ Timecop.freeze
558
+ end
559
+ end
560
+
561
+ def test_no_raise_when_safe_mode_and_no_block_and_in_block_context
562
+ with_safe_mode do
563
+ Timecop.freeze do
564
+ Timecop.freeze
565
+ end
566
+ end
567
+ end
568
+
569
+ def test_frozen_after_freeze
570
+ Timecop.freeze
571
+ assert Timecop.frozen?
572
+ end
573
+
574
+ def test_frozen_inside_freeze
575
+ Timecop.freeze do
576
+ assert Timecop.frozen?
577
+ end
578
+ end
579
+
580
+ def test_not_frozen_after_return
581
+ Timecop.freeze
582
+ Timecop.return
583
+ assert !Timecop.frozen?
584
+ end
585
+
586
+ def test_thread_safe_timecop_in_parallel
587
+ Timecop.thread_safe = true
588
+ date = Time.local(2011, 01, 02)
589
+ thread = Thread.new do
590
+ Timecop.freeze(date) do
591
+ sleep 1 #give main thread time to run
592
+ assert_equal date, Time.now
593
+ end
594
+ end
595
+
596
+ sleep 0.25
597
+ assert Time.now != date
598
+ thread.join
599
+ ensure
600
+ Timecop.thread_safe = false
601
+ end
602
+
603
+ def test_thread_safe_timecop_returns_after_block
604
+ Timecop.thread_safe = true
605
+ date = Time.local(2017, 10, 8)
606
+
607
+ Timecop.freeze(date) { }
608
+ assert Time.now != date
609
+ ensure
610
+ Timecop.thread_safe = false
611
+ end
612
+
613
+ private
614
+
615
+ def with_safe_mode(enabled=true)
616
+ mode = Timecop.safe_mode?
617
+ Timecop.safe_mode = enabled
618
+ yield
619
+ ensure
620
+ Timecop.safe_mode = mode
621
+ end
416
622
  end
@@ -1,12 +1,8 @@
1
- require "test/unit"
2
-
3
- class TestTimecopWithoutDateButWithTime < Test::Unit::TestCase
4
- TIMECOP_LIB = File.join(File.dirname(__FILE__), '..', 'lib', 'timecop')
1
+ require_relative "test_helper"
2
+ require "time"
5
3
 
4
+ class TestTimecopWithoutDateButWithTime < Minitest::Test
6
5
  def test_loads_properly_when_time_is_required_instead_of_date
7
- assert_nothing_raised do
8
- require "time"
9
- require TIMECOP_LIB
10
- end
6
+ require 'timecop'
11
7
  end
12
8
  end
@@ -1,34 +1,33 @@
1
+ require_relative "test_helper"
2
+ require 'timecop'
1
3
 
2
- require 'test_helper'
3
- require File.join(File.dirname(__FILE__), '..', 'lib', 'timecop')
4
+ class TestTimecopWithoutDate < Minitest::Test
4
5
 
5
- class TestTimecopWithoutDate < Test::Unit::TestCase
6
-
7
6
  def setup
8
7
  Object.send(:remove_const, :Date) if Object.const_defined?(:Date)
9
8
  Object.send(:remove_const, :DateTime) if Object.const_defined?(:DateTime)
10
9
  end
11
-
10
+
12
11
  # just in case...let's really make sure that Timecop is disabled between tests...
13
12
  def teardown
14
13
  Timecop.return
15
14
  end
16
-
15
+
17
16
  def test_freeze_changes_and_resets_time
18
17
  # depending on how we're invoked (individually or via the rake test suite)
19
18
  assert !Time.respond_to?(:zone) || Time.zone.nil?
20
-
19
+
21
20
  t = Time.local(2008, 10, 10, 10, 10, 10)
22
- assert_not_equal t, Time.now
21
+ assert t != Time.now
23
22
  Timecop.freeze(2008, 10, 10, 10, 10, 10) do
24
23
  assert_equal t, Time.now
25
24
  end
26
- assert_not_equal t, Time.now
25
+ assert t != Time.now
27
26
  end
28
-
27
+
29
28
  def test_recursive_freeze
30
29
  t = Time.local(2008, 10, 10, 10, 10, 10)
31
- Timecop.freeze(2008, 10, 10, 10, 10, 10) do
30
+ Timecop.freeze(2008, 10, 10, 10, 10, 10) do
32
31
  assert_equal t, Time.now
33
32
  t2 = Time.local(2008, 9, 9, 9, 9, 9)
34
33
  Timecop.freeze(2008, 9, 9, 9, 9, 9) do
@@ -38,7 +37,7 @@ class TestTimecopWithoutDate < Test::Unit::TestCase
38
37
  end
39
38
  assert_nil Time.send(:mock_time)
40
39
  end
41
-
40
+
42
41
  def test_exception_thrown_in_freeze_block_properly_resets_time
43
42
  t = Time.local(2008, 10, 10, 10, 10, 10)
44
43
  begin
@@ -47,11 +46,11 @@ class TestTimecopWithoutDate < Test::Unit::TestCase
47
46
  raise "blah exception"
48
47
  end
49
48
  rescue
50
- assert_not_equal t, Time.now
49
+ assert t != Time.now
51
50
  assert_nil Time.send(:mock_time)
52
51
  end
53
52
  end
54
-
53
+
55
54
  def test_freeze_freezes_time
56
55
  t = Time.local(2008, 10, 10, 10, 10, 10)
57
56
  now = Time.now
@@ -63,7 +62,7 @@ class TestTimecopWithoutDate < Test::Unit::TestCase
63
62
  assert_equal new_t, Time.now
64
63
  end
65
64
  end
66
-
65
+
67
66
  def test_travel_keeps_time_moving
68
67
  t = Time.local(2008, 10, 10, 10, 10, 10)
69
68
  now = Time.now
@@ -71,13 +70,13 @@ class TestTimecopWithoutDate < Test::Unit::TestCase
71
70
  new_now = Time.now
72
71
  assert_times_effectively_equal new_now, t, 1, "Looks like we failed to actually travel time" # 0.1 seconds
73
72
  sleep(0.25)
74
- assert_times_effectively_not_equal new_now, Time.now, 0.25, "Looks like time is not moving"
73
+ assert_times_effectively_not_equal new_now, Time.now, 0.24, "Looks like time is not moving"
75
74
  end
76
75
  end
77
-
76
+
78
77
  def test_recursive_travel_maintains_each_context
79
78
  t = Time.local(2008, 10, 10, 10, 10, 10)
80
- Timecop.travel(2008, 10, 10, 10, 10, 10) do
79
+ Timecop.travel(2008, 10, 10, 10, 10, 10) do
81
80
  assert((t - Time.now).abs < 50, "Failed to travel time.")
82
81
  t2 = Time.local(2008, 9, 9, 9, 9, 9)
83
82
  Timecop.travel(2008, 9, 9, 9, 9, 9) do
@@ -88,10 +87,10 @@ class TestTimecopWithoutDate < Test::Unit::TestCase
88
87
  end
89
88
  assert_nil Time.send(:mock_time)
90
89
  end
91
-
90
+
92
91
  def test_recursive_travel_then_freeze
93
92
  t = Time.local(2008, 10, 10, 10, 10, 10)
94
- Timecop.travel(2008, 10, 10, 10, 10, 10) do
93
+ Timecop.travel(2008, 10, 10, 10, 10, 10) do
95
94
  assert((t - Time.now).abs < 50, "Failed to travel time.")
96
95
  t2 = Time.local(2008, 9, 9, 9, 9, 9)
97
96
  Timecop.freeze(2008, 9, 9, 9, 9, 9) do
@@ -101,10 +100,10 @@ class TestTimecopWithoutDate < Test::Unit::TestCase
101
100
  end
102
101
  assert_nil Time.send(:mock_time)
103
102
  end
104
-
103
+
105
104
  def test_recursive_freeze_then_travel
106
105
  t = Time.local(2008, 10, 10, 10, 10, 10)
107
- Timecop.freeze(t) do
106
+ Timecop.freeze(t) do
108
107
  assert_equal t, Time.now
109
108
  t2 = Time.local(2008, 9, 9, 9, 9, 9)
110
109
  Timecop.travel(t2) do
@@ -113,7 +112,7 @@ class TestTimecopWithoutDate < Test::Unit::TestCase
113
112
  end
114
113
  assert_equal t, Time.now
115
114
  end
116
- assert_nil Time.send(:mock_time)
115
+ assert_nil Time.send(:mock_time)
117
116
  end
118
117
 
119
118
  end
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timecop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
5
- prerelease:
4
+ version: 0.9.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - Travis Jeffery
9
8
  - John Trupiano
10
- autorequire:
9
+ autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2012-09-20 00:00:00.000000000 Z
12
+ date: 2022-03-07 00:00:00.000000000 Z
14
13
  dependencies: []
15
14
  description: A gem providing "time travel" and "time freezing" capabilities, making
16
15
  it dead simple to test time-dependent code. It provides a unified method to mock
@@ -22,47 +21,41 @@ extra_rdoc_files:
22
21
  - LICENSE
23
22
  - README.markdown
24
23
  files:
25
- - History.rdoc
26
24
  - LICENSE
27
25
  - README.markdown
28
26
  - Rakefile
29
27
  - lib/timecop.rb
30
28
  - lib/timecop/time_extensions.rb
31
29
  - lib/timecop/time_stack_item.rb
32
- - lib/timecop/version.rb
33
30
  - lib/timecop/timecop.rb
34
- - test/run_tests.sh
31
+ - lib/timecop/version.rb
35
32
  - test/test_helper.rb
36
33
  - test/time_stack_item_test.rb
37
34
  - test/timecop_test.rb
38
- - test/timecop_without_date_test.rb
39
35
  - test/timecop_without_date_but_with_time_test.rb
40
- homepage: http://github.com/jtrupiano/timecop
41
- licenses: []
42
- post_install_message:
36
+ - test/timecop_without_date_test.rb
37
+ homepage: https://github.com/travisjeffery/timecop
38
+ licenses:
39
+ - MIT
40
+ metadata: {}
41
+ post_install_message:
43
42
  rdoc_options:
44
- - --charset=UTF-8
43
+ - "--charset=UTF-8"
45
44
  require_paths:
46
45
  - lib
47
46
  required_ruby_version: !ruby/object:Gem::Requirement
48
- none: false
49
47
  requirements:
50
- - - ! '>='
48
+ - - ">="
51
49
  - !ruby/object:Gem::Version
52
- version: '0'
53
- segments:
54
- - 0
55
- hash: -1525074573276164628
50
+ version: 1.9.2
56
51
  required_rubygems_version: !ruby/object:Gem::Requirement
57
- none: false
58
52
  requirements:
59
- - - ! '>='
53
+ - - ">="
60
54
  - !ruby/object:Gem::Version
61
55
  version: '0'
62
56
  requirements: []
63
- rubyforge_project: johntrupiano
64
- rubygems_version: 1.8.10
65
- signing_key:
57
+ rubygems_version: 3.2.22
58
+ signing_key:
66
59
  specification_version: 3
67
60
  summary: A gem providing "time travel" and "time freezing" capabilities, making it
68
61
  dead simple to test time-dependent code. It provides a unified method to mock Time.now,