timecop 0.3.4 → 0.3.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/History.rdoc +7 -1
- data/VERSION.yml +1 -1
- data/lib/timecop.rb +1 -2
- data/lib/timecop/time_stack_item.rb +3 -3
- data/lib/timecop/timecop.rb +2 -2
- data/test/run_tests.sh +4 -4
- data/test/test_timecop.rb +15 -0
- metadata +17 -5
data/History.rdoc
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
-
=== 0.3.
|
1
|
+
=== 0.3.5 / 2010-06-07
|
2
|
+
|
3
|
+
* Maintenance
|
4
|
+
* Return a cloned time instance in order to support the destructive methods #gmt, #utc and #localtime
|
5
|
+
* Don't use full path requires where unnecessary
|
6
|
+
|
7
|
+
=== 0.3.4 / 2009-12-07
|
2
8
|
|
3
9
|
* Maintenance
|
4
10
|
* Fix various timezone-related issues. Notably, when traveling to a DateTime
|
data/VERSION.yml
CHANGED
data/lib/timecop.rb
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
|
2
|
-
require File.join(File.dirname(__FILE__), 'timecop', 'timecop')
|
1
|
+
require 'timecop/timecop'
|
@@ -47,7 +47,7 @@ class Timecop
|
|
47
47
|
|
48
48
|
def time #:nodoc:
|
49
49
|
if travel_offset.nil?
|
50
|
-
@time
|
50
|
+
@time.clone
|
51
51
|
else
|
52
52
|
Time.now_without_mock_time + travel_offset
|
53
53
|
end
|
@@ -106,8 +106,8 @@ class Timecop
|
|
106
106
|
|
107
107
|
def compute_travel_offset
|
108
108
|
return nil if mock_type == :freeze
|
109
|
-
|
109
|
+
time - Time.now_without_mock_time
|
110
110
|
end
|
111
111
|
|
112
112
|
end
|
113
|
-
end
|
113
|
+
end
|
data/lib/timecop/timecop.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'singleton'
|
2
|
-
require
|
3
|
-
require
|
2
|
+
require 'timecop/time_extensions'
|
3
|
+
require 'timecop/time_stack_item'
|
4
4
|
|
5
5
|
# Timecop
|
6
6
|
# * Wrapper class for manipulating the extensions to the Time, Date, and DateTime objects
|
data/test/run_tests.sh
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
#!/bin/sh
|
2
2
|
|
3
3
|
echo "\033[1;81m Running test_time_stack_item...\033[0m"
|
4
|
-
ruby test_time_stack_item.rb || (echo "FAILED!!!!!!!!!!!!")
|
4
|
+
ruby -I../lib test_time_stack_item.rb || (echo "FAILED!!!!!!!!!!!!")
|
5
5
|
|
6
6
|
echo "\033[1;81m Running test_timecop_without_date...\033[0m"
|
7
|
-
ruby test_timecop_without_date.rb || (echo "FAILED!!!!!!!!!!!!")
|
7
|
+
ruby -I../lib test_timecop_without_date.rb || (echo "FAILED!!!!!!!!!!!!")
|
8
8
|
|
9
9
|
echo "\033[1;81m Running test_timecop_without_date_but_with_time...\033[0m"
|
10
|
-
ruby test_timecop_without_date_but_with_time.rb || (echo "FAILED!!!!!!!!!!!!")
|
10
|
+
ruby -I../lib test_timecop_without_date_but_with_time.rb || (echo "FAILED!!!!!!!!!!!!")
|
11
11
|
|
12
12
|
echo "\033[1;81m Running test_timecop...\033[0m"
|
13
|
-
ruby test_timecop.rb || (echo "FAILED!!!!!!!!!!!!")
|
13
|
+
ruby -I../lib test_timecop.rb || (echo "FAILED!!!!!!!!!!!!")
|
data/test/test_timecop.rb
CHANGED
@@ -209,6 +209,21 @@ class TestTimecop < Test::Unit::TestCase
|
|
209
209
|
end
|
210
210
|
end
|
211
211
|
end
|
212
|
+
|
213
|
+
def test_destructive_methods_on_frozen_time
|
214
|
+
# Use any time zone other than UTC.
|
215
|
+
ENV['TZ'] = 'EST'
|
216
|
+
|
217
|
+
t = Time.local(2008, 10, 10, 10, 10, 10)
|
218
|
+
Timecop.freeze(t) do
|
219
|
+
assert !Time.now.utc?, "Time#local failed to return a time in the local time zone."
|
220
|
+
|
221
|
+
# #utc, #gmt, and #localtime are destructive methods.
|
222
|
+
Time.now.utc
|
223
|
+
|
224
|
+
assert !Time.now.utc?, "Failed to thwart destructive methods."
|
225
|
+
end
|
226
|
+
end
|
212
227
|
|
213
228
|
def test_recursive_travel_maintains_each_context
|
214
229
|
t = Time.local(2008, 10, 10, 10, 10, 10)
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: timecop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 25
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
- 5
|
10
|
+
version: 0.3.5
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- John Trupiano
|
@@ -9,7 +15,7 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date:
|
18
|
+
date: 2010-06-07 00:00:00 -04:00
|
13
19
|
default_executable:
|
14
20
|
dependencies: []
|
15
21
|
|
@@ -48,21 +54,27 @@ rdoc_options:
|
|
48
54
|
require_paths:
|
49
55
|
- lib
|
50
56
|
required_ruby_version: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ">="
|
53
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 3
|
62
|
+
segments:
|
63
|
+
- 0
|
54
64
|
version: "0"
|
55
|
-
version:
|
56
65
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
57
67
|
requirements:
|
58
68
|
- - ">="
|
59
69
|
- !ruby/object:Gem::Version
|
70
|
+
hash: 3
|
71
|
+
segments:
|
72
|
+
- 0
|
60
73
|
version: "0"
|
61
|
-
version:
|
62
74
|
requirements: []
|
63
75
|
|
64
76
|
rubyforge_project: johntrupiano
|
65
|
-
rubygems_version: 1.3.
|
77
|
+
rubygems_version: 1.3.7
|
66
78
|
signing_key:
|
67
79
|
specification_version: 3
|
68
80
|
summary: A gem providing "time travel" and "time freezing" capabilities, making it dead simple to test time-dependent code. It provides a unified method to mock Time.now, Date.today, and DateTime.now in a single call.
|