Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
503 additions
and
480 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
|
||
# | ||
# Specifying rufus-scheduler | ||
# | ||
# Wed Apr 17 06:00:59 JST 2013 | ||
# | ||
|
||
require 'spec_helper' | ||
|
||
|
||
describe Rufus::Scheduler::AtJob do | ||
|
||
before :each do | ||
@scheduler = Rufus::Scheduler.new | ||
end | ||
after :each do | ||
@scheduler.shutdown | ||
end | ||
|
||
describe '#unschedule' do | ||
|
||
it 'unschedules the job' do | ||
|
||
job = @scheduler.at(Time.now + 3600, :job => true) do | ||
end | ||
|
||
job.unschedule | ||
|
||
sleep 0.4 | ||
|
||
@scheduler.jobs.size.should == 0 | ||
end | ||
end | ||
|
||
describe '#scheduled_at' do | ||
|
||
it 'returns the Time at which the job got scheduled' do | ||
|
||
job = @scheduler.schedule_at((t = Time.now) + 3600) {} | ||
|
||
job.scheduled_at.to_i.should >= t.to_i - 1 | ||
job.scheduled_at.to_i.should <= t.to_i + 1 | ||
end | ||
end | ||
|
||
describe '#time' do | ||
|
||
it 'returns the time at which the job will trigger' do | ||
|
||
t = Time.now + 3600 | ||
|
||
job = @scheduler.schedule_at t do; end | ||
|
||
job.time.should == t | ||
end | ||
end | ||
end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
|
||
# | ||
# Specifying rufus-scheduler | ||
# | ||
# Wed Apr 17 06:00:59 JST 2013 | ||
# | ||
|
||
require 'spec_helper' | ||
|
||
|
||
describe Rufus::Scheduler::CronJob do | ||
|
||
before :each do | ||
@scheduler = Rufus::Scheduler.new | ||
end | ||
after :each do | ||
@scheduler.shutdown | ||
end | ||
|
||
context 'normal' do | ||
|
||
it 'triggers near the zero second' do | ||
|
||
job = @scheduler.schedule_cron '* * * * *' do; end | ||
|
||
sleep_until_next_minute | ||
|
||
(job.last_time.to_i % 10).should == 0 | ||
end | ||
end | ||
|
||
#context 'sub-minute' do | ||
# | ||
# it 'triggers near the zero second' do | ||
# | ||
# job = @scheduler.schedule_cron '* * * * * *' do; end | ||
# | ||
# sleep 1.5 | ||
# | ||
# p job.last_time | ||
# p job.last_time.to_f | ||
# end | ||
#end | ||
|
||
context 'first_at/in' do | ||
|
||
it 'does not trigger before first_at is reached' do | ||
|
||
t = Time.now | ||
|
||
job = | ||
@scheduler.schedule_cron '* * * * * *', :first_in => '3s' do | ||
triggered = Time.now | ||
end | ||
|
||
sleep 1 | ||
|
||
#p [ t, t.to_f ] | ||
#p [ job.last_time, job.last_time.to_f ] | ||
#p [ job.first_at, job.first_at.to_f ] | ||
|
||
job.first_at.should be_within_1s_of(t + 3) | ||
job.last_time.should == nil | ||
end | ||
end | ||
end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
|
||
# | ||
# Specifying rufus-scheduler | ||
# | ||
# Wed Apr 17 06:00:59 JST 2013 | ||
# | ||
|
||
require 'spec_helper' | ||
|
||
|
||
describe Rufus::Scheduler::EveryJob do | ||
|
||
before :each do | ||
@scheduler = Rufus::Scheduler.new | ||
end | ||
after :each do | ||
@scheduler.shutdown | ||
end | ||
end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
|
||
# | ||
# Specifying rufus-scheduler | ||
# | ||
# Wed Apr 17 06:00:59 JST 2013 | ||
# | ||
|
||
require 'spec_helper' | ||
|
||
|
||
describe Rufus::Scheduler::InJob do | ||
|
||
before :each do | ||
@scheduler = Rufus::Scheduler.new | ||
end | ||
after :each do | ||
@scheduler.shutdown | ||
end | ||
end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
|
||
# | ||
# Specifying rufus-scheduler | ||
# | ||
# Wed Apr 17 06:00:59 JST 2013 | ||
# | ||
|
||
require 'spec_helper' | ||
|
||
|
||
describe Rufus::Scheduler::IntervalJob do | ||
|
||
before :each do | ||
@scheduler = Rufus::Scheduler.new | ||
end | ||
after :each do | ||
@scheduler.shutdown | ||
end | ||
|
||
describe '#interval' do | ||
|
||
it 'returns the scheduled interval' do | ||
|
||
job = @scheduler.schedule_interval('1h') do; end | ||
|
||
job.interval.should == 3600 | ||
end | ||
end | ||
end | ||
|
Oops, something went wrong.