Sha256: 60d052f8f033bfea7f1326ee78eb5cd0fcd0678e0b0c7399dae5416efde0bbc0

Contents?: true

Size: 1.12 KB

Versions: 4

Compression:

Stored size: 1.12 KB

Contents

#
# 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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rufus-scheduler-3.0.3 spec/job_cron_spec.rb
rufus-scheduler-3.0.2 spec/job_cron_spec.rb
rufus-scheduler-3.0.1 spec/job_cron_spec.rb
rufus-scheduler-3.0.0 spec/job_cron_spec.rb