Skip to content

Commit 43c4c41

Browse files
committed
More robust specs across Ruby/Rails versions
Avoid calling on ActiveSupport in specs unless it's necessary: methods like `1.day` no longer work for RAILS_VERSION=3.2 on Ruby 2.4.
1 parent 0054aed commit 43c4c41

File tree

5 files changed

+16
-16
lines changed

5 files changed

+16
-16
lines changed

spec/examples/active_support_spec.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ module IceCube
6666
end
6767

6868
it 'should use the correct zone for next_occurrences before start_time' do
69-
future_time = Time.zone.now.beginning_of_day + 1.day
69+
future_time = Time.zone.now.beginning_of_day + IceCube::ONE_DAY
7070
schedule = Schedule.new(future_time)
7171
schedule.add_recurrence_rule Rule.daily
7272
schedule.next_occurrence.time_zone.should == schedule.start_time.time_zone
@@ -105,23 +105,23 @@ module IceCube
105105
end
106106

107107
it 'uses schedule zone for remaining_occurrences' do
108-
remaining_occurrences = schedule.remaining_occurrences(reference_time + 1.day)
108+
remaining_occurrences = schedule.remaining_occurrences(reference_time + IceCube::ONE_DAY)
109109
remaining_occurrences.should == [Time.utc(2013, 1, 2), Time.utc(2013, 1, 3)]
110110
remaining_occurrences.each do |t|
111111
t.time_zone.should == schedule.start_time.time_zone
112112
end
113113
end
114114

115115
it 'uses schedule zone for occurrences' do
116-
occurrences = schedule.occurrences(reference_time + 1.day)
116+
occurrences = schedule.occurrences(reference_time + IceCube::ONE_DAY)
117117
occurrences.should == [Time.utc(2013, 1, 1), Time.utc(2013, 1, 2)]
118118
occurrences.each do |t|
119119
t.time_zone.should == schedule.start_time.time_zone
120120
end
121121
end
122122

123123
it 'uses schedule zone for occurrences_between' do
124-
occurrences_between = schedule.occurrences_between(reference_time, reference_time + 1.day)
124+
occurrences_between = schedule.occurrences_between(reference_time, reference_time + IceCube::ONE_DAY)
125125
occurrences_between.should == [Time.utc(2013, 1, 1), Time.utc(2013, 1, 2)]
126126
occurrences_between.each do |t|
127127
t.time_zone.should == schedule.start_time.time_zone
@@ -131,7 +131,7 @@ module IceCube
131131
it "uses schedule zone for occurrences_between with a rule terminated by #count" do
132132
utc = Time.utc(2013, 1, 1).in_time_zone('UTC')
133133
s = Schedule.new(utc) { |s| s.add_recurrence_rule Rule.daily.count(3) }
134-
occurrences_between = s.occurrences_between(reference_time, reference_time + 1.day)
134+
occurrences_between = s.occurrences_between(reference_time, reference_time + IceCube::ONE_DAY)
135135
occurrences_between.should == [Time.utc(2013, 1, 1), Time.utc(2013, 1, 2)]
136136
occurrences_between.each do |t|
137137
t.time_zone.should == schedule.start_time.time_zone
@@ -141,7 +141,7 @@ module IceCube
141141
it "uses schedule zone for occurrences_between with a rule terminated by #until" do
142142
utc = Time.utc(2013, 1, 1).in_time_zone('UTC')
143143
s = Schedule.new(utc) { |s| s.add_recurrence_rule Rule.daily.until(utc.advance(:days => 3)) }
144-
occurrences_between = s.occurrences_between(reference_time, reference_time + 1.day)
144+
occurrences_between = s.occurrences_between(reference_time, reference_time + IceCube::ONE_DAY)
145145
occurrences_between.should == [Time.utc(2013, 1, 1), Time.utc(2013, 1, 2)]
146146
occurrences_between.each do |t|
147147
t.time_zone.should == schedule.start_time.time_zone
@@ -151,7 +151,7 @@ module IceCube
151151
it "uses schedule zone for occurrences_between with an unterminated rule" do
152152
utc = Time.utc(2013, 1, 1).in_time_zone('UTC')
153153
s = Schedule.new(utc) { |s| s.add_recurrence_rule Rule.daily }
154-
occurrences_between = s.occurrences_between(reference_time, reference_time + 1.day)
154+
occurrences_between = s.occurrences_between(reference_time, reference_time + IceCube::ONE_DAY)
155155
occurrences_between.should == [Time.utc(2013, 1, 1), Time.utc(2013, 1, 2)]
156156
occurrences_between.each do |t|
157157
t.time_zone.should == schedule.start_time.time_zone

spec/examples/from_ical_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ module IceCube
8989
it 'should return no occurrences after daily interval with count is over' do
9090
schedule = IceCube::Schedule.new(Time.now)
9191
schedule.add_recurrence_rule(IceCube::Rule.from_ical("FREQ=DAILY;COUNT=5"))
92-
schedule.occurrences_between(Time.now + 7.days, Time.now + 14.days).count.should == 0
92+
schedule.occurrences_between(Time.now + (IceCube::ONE_DAY * 7), Time.now + (IceCube::ONE_DAY * 14)).count.should == 0
9393
end
9494

9595
end
@@ -177,7 +177,7 @@ def sorted_ical(ical)
177177
start_time = Time.now
178178

179179
schedule = IceCube::Schedule.new(start_time)
180-
schedule.add_recurrence_rule(IceCube::Rule.daily.until(start_time + 15.days))
180+
schedule.add_recurrence_rule(IceCube::Rule.daily.until(start_time + (IceCube::ONE_DAY * 15)))
181181

182182
ical = schedule.to_ical
183183
sorted_ical(IceCube::Schedule.from_ical(ical).to_ical).should eq(sorted_ical(ical))
@@ -357,7 +357,7 @@ def sorted_ical(ical)
357357

358358
schedule = IceCube::Schedule.new(start_time)
359359
schedule.add_recurrence_rule(IceCube::Rule.daily)
360-
schedule.add_exception_time(Time.now + 2.days)
360+
schedule.add_exception_time(Time.now + (IceCube::ONE_DAY * 2))
361361

362362
ical = schedule.to_ical
363363
sorted_ical(IceCube::Schedule.from_ical(ical).to_ical).should eq(sorted_ical(ical))

spec/examples/ice_cube_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -334,14 +334,14 @@
334334
describe "using occurs_between with a biweekly schedule" do
335335
[[0, 1, 2], [0, 6, 1], [5, 1, 6], [6, 5, 7]].each do |wday, offset, lead|
336336
start_week = Time.utc(2014, 1, 5)
337-
expected_week = start_week + 2.weeks
337+
expected_week = start_week + (IceCube::ONE_DAY * 14)
338338
offset_wday = (wday + offset) % 7
339339

340340
context "starting on weekday #{wday} selecting weekday #{offset} with a #{lead} day advance window" do
341341
let(:biweekly) { Rule.weekly(2).day(0, 1, 2, 3, 4, 5, 6) }
342-
let(:schedule) { Schedule.new(start_week + wday.days) { |s| s.rrule biweekly } }
343-
let(:expected_date) { expected_week + offset_wday.days }
344-
let(:range) { [expected_date - lead.days, expected_date] }
342+
let(:schedule) { Schedule.new(start_week + (IceCube::ONE_DAY * wday)) { |s| s.rrule biweekly } }
343+
let(:expected_date) { expected_week + (IceCube::ONE_DAY * offset_wday) }
344+
let(:range) { [expected_date - (IceCube::ONE_DAY * lead), expected_date] }
345345

346346
it "should include weekday #{offset_wday} of the expected week" do
347347
expect(schedule.occurrences_between(range.first, range.last)).to include expected_date

spec/examples/monthly_rule_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ module IceCube
3636
schedule = double(start_time: t0 = Time.utc(2013, 5, 17))
3737
rule = Rule.monthly(3)
3838
rule.interval(1)
39-
rule.next_time(t0 + 1, schedule, nil).should == t0 + 31.days
39+
rule.next_time(t0 + 1, schedule, nil).should == t0 + (IceCube::ONE_DAY * 31)
4040
end
4141

4242
it 'should produce the correct number of days for @interval = 1' do

spec/examples/yearly_rule_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
schedule = double(start_time: t0 = Time.utc(2013, 5, 1))
3232
rule = Rule.yearly(3)
3333
rule.interval(1)
34-
rule.next_time(t0 + 1, schedule, nil).should == t0 + 365.days
34+
rule.next_time(t0 + 1, schedule, nil).should == t0 + (IceCube::ONE_DAY * 365)
3535
end
3636

3737
it 'should be able to specify complex yearly rules' do

0 commit comments

Comments
 (0)