diff options
author | Azul <azul@leap.se> | 2014-04-08 11:49:14 +0200 |
---|---|---|
committer | Azul <azul@leap.se> | 2014-04-08 11:49:14 +0200 |
commit | b6d14dc19dd350a807826e3e097738a36613e083 (patch) | |
tree | 093dc5f2f1e773e3ad009d28d1fd24667d3c0ba6 /test/support/time_test_helper.rb | |
parent | 2e11e3ca2c7b02fdb5ff54f0bcd766cc5fa39975 (diff) |
moving users: app and test files
Diffstat (limited to 'test/support/time_test_helper.rb')
-rw-r--r-- | test/support/time_test_helper.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/support/time_test_helper.rb b/test/support/time_test_helper.rb new file mode 100644 index 0000000..f673f12 --- /dev/null +++ b/test/support/time_test_helper.rb @@ -0,0 +1,30 @@ +# Extend the Time class so that we can offset the time that 'now' +# returns. This should allow us to effectively time warp for functional +# tests that require limits per hour, what not. +class Time #:nodoc: + class <<self + attr_accessor :testing_offset + + def now_with_testing_offset + now_without_testing_offset - testing_offset + end + alias_method_chain :now, :testing_offset + end +end +Time.testing_offset = 0 + +module TimeTestHelper + # Time warp to the specified time for the duration of the passed block + def pretend_now_is(time) + begin + Time.testing_offset = Time.now - time + yield + ensure + Time.testing_offset = 0 + end + end +end + +class ActiveSupport::TestCase + include TimeTestHelper +end |