aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/time_travel_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/test/time_travel_test.rb')
-rw-r--r--activesupport/test/time_travel_test.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/activesupport/test/time_travel_test.rb b/activesupport/test/time_travel_test.rb
index c68be329bc..cfc6447360 100644
--- a/activesupport/test/time_travel_test.rb
+++ b/activesupport/test/time_travel_test.rb
@@ -3,6 +3,10 @@ require "active_support/core_ext/date_time"
require "active_support/core_ext/numeric/time"
class TimeTravelTest < ActiveSupport::TestCase
+ class TimeSubclass < ::Time; end
+ class DateSubclass < ::Date; end
+ class DateTimeSubclass < ::DateTime; end
+
def test_time_helper_travel
Time.stub(:now, Time.now) do
begin
@@ -142,4 +146,19 @@ class TimeTravelTest < ActiveSupport::TestCase
end
end
end
+
+ def test_time_helper_travel_with_time_subclass
+ assert_equal TimeSubclass, TimeSubclass.now.class
+ assert_equal DateSubclass, DateSubclass.today.class
+ assert_equal DateTimeSubclass, DateTimeSubclass.now.class
+
+ travel 1.day do
+ assert_equal TimeSubclass, TimeSubclass.now.class
+ assert_equal DateSubclass, DateSubclass.today.class
+ assert_equal DateTimeSubclass, DateTimeSubclass.now.class
+ assert_equal Time.now.to_s, TimeSubclass.now.to_s
+ assert_equal Date.today.to_s, DateSubclass.today.to_s
+ assert_equal DateTime.now.to_s, DateTimeSubclass.now.to_s
+ end
+ end
end