Sha256: ca819b07a78899801732d0a32f6d90443bcaade9609ec497955b1844ca35c963
Contents?: true
Size: 1.73 KB
Versions: 3
Compression:
Stored size: 1.73 KB
Contents
# # Specifying rufus-scheduler # # Sat Mar 21 20:19:30 JST 2009 # require 'spec_base' describe "#{SCHEDULER_CLASS}#schedule_at" do before(:each) do @s = start_scheduler end after(:each) do stop_scheduler(@s) end it 'has job ids with the class name in it' do j0 = @s.at(Time.now + 1) {} j0.job_id.should match(/Rufus::Scheduler::AtJob/) end it "accepts integers as 'at'" do lambda { @s.at(1) {} }.should_not raise_error end it "schedules at 'top + 1'" do var = nil @s.at Time.now + 1 do var = true end var.should == nil sleep 1.5 var.should == true @s.jobs.should == {} end it 'triggers immediately jobs in the past' do var = nil j = @s.at Time.now - 2 do var = true end j.should_not == nil #wait_next_tick sleep 0.500 var.should == true @s.jobs.should == {} end it 'unschedules (job_id)' do job = @s.at Time.now + 3 * 3600 do end sleep 0.300 @s.jobs.size.should == 1 @s.unschedule(job.job_id) @s.jobs.size.should == 0 end it 'unschedules (job)' do job = @s.at Time.now + 3 * 3600 do end sleep 0.300 @s.jobs.size.should == 1 @s.unschedule(job) @s.jobs.size.should == 0 end it 'accepts tags for jobs' do job = @s.at Time.now + 3 * 3600, :tags => 'spec' do end wait_next_tick @s.find_by_tag('spec').size.should == 1 @s.find_by_tag('spec').first.job_id.should == job.job_id end it 'accepts unschedule_by_tag' do 3.times do @s.at Time.now + 3 * 3600, :tags => 'spec' do end end sleep 0.500 r = @s.unschedule_by_tag('spec') r.size.should == 3 r.first.class.should == Rufus::Scheduler::AtJob end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rufus-scheduler-2.0.16 | spec/at_spec.rb |
rufus-scheduler-2.0.15 | spec/at_spec.rb |
rufus-scheduler-2.0.14 | spec/at_spec.rb |