Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 8433bcb

Browse files
committed
Add support for Float arguments to #freeze, #travel etc.
1 parent f8a354c commit 8433bcb

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

lib/timecop/time_stack_item.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ def parse_time(*args)
101101
time_klass.at(arg.to_time.to_f).getlocal
102102
elsif Object.const_defined?(:Date) && arg.is_a?(Date)
103103
time_klass.local(arg.year, arg.month, arg.day, 0, 0, 0)
104-
elsif args.empty? && arg.kind_of?(Integer)
104+
elsif args.empty? && (arg.kind_of?(Integer) || arg.kind_of?(Float))
105105
Time.now + arg
106106
elsif arg.nil?
107107
Time.now

test/time_stack_item_test.rb

+13
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,19 @@ def test_new_with_integer
8787
assert_equal s, stack_item.sec
8888
end
8989

90+
def test_new_with_float
91+
t = Time.now
92+
y, m, d, h, min, s = t.year, t.month, t.day, t.hour, t.min, t.sec
93+
stack_item = Timecop::TimeStackItem.new(:freeze, 0.0)
94+
95+
assert_equal y, stack_item.year
96+
assert_equal m, stack_item.month
97+
assert_equal d, stack_item.day
98+
assert_equal h, stack_item.hour
99+
assert_equal min, stack_item.min
100+
assert_equal s, stack_item.sec
101+
end
102+
90103
def test_new_with_individual_arguments
91104
y, m, d, h, min, s = 2008, 10, 10, 10, 10, 10
92105
stack_item = Timecop::TimeStackItem.new(:freeze, y, m, d, h, min, s)

0 commit comments

Comments
 (0)