Sha256: 866a838ec1339c658c089fff4682f8ce7f0bd2813bfdf4aab4ac6883b72cda83

Contents?: true

Size: 1.4 KB

Versions: 6

Compression:

Stored size: 1.4 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

Spork.class_eval do
  def self.reset!
    @state = nil
    @already_ran = nil
  end
end

describe Spork do
  before(:each) do
    Spork.reset!
  end
  
  def spec_helper_simulator
    @ran ||= []
    Spork.prefork do
      @ran << :prefork
    end
    
    Spork.each_run do
      @ran << :each_run
    end
    @ran
  end
  
  it "only runs the preload block when preforking" do
    Spork.exec_prefork { spec_helper_simulator }
    @ran.should == [:prefork]
  end
  
  it "only runs the each_run block when running" do
    Spork.exec_prefork { spec_helper_simulator }
    @ran.should == [:prefork]
    
    Spork.exec_each_run
    @ran.should == [:prefork, :each_run]
  end
  
  it "runs both blocks when Spork not activated" do
    spec_helper_simulator.should == [:prefork, :each_run]
  end
  
  it "prevents blocks from being ran twice" do
    Spork.exec_prefork { spec_helper_simulator }
    Spork.exec_each_run
    @ran.clear
    Spork.exec_prefork { spec_helper_simulator }
    Spork.exec_each_run
    @ran.should == []
  end
  
  it "runs multiple prefork and each_run blocks at different locations" do
    Spork.prefork { }
    Spork.each_run { }
    spec_helper_simulator.should == [:prefork, :each_run]
  end
  
  it "expands a caller line, preserving the line number" do
    Spork.expanded_caller("/boo/../yah.rb:31").should == "/yah.rb:31"
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
timcharper-spork-0.5.5 spec/spork_spec.rb
timcharper-spork-0.5.6 spec/spork_spec.rb
spork-0.5.3 spec/spork_spec.rb
spork-0.5.5 spec/spork_spec.rb
spork-0.5.6 spec/spork_spec.rb
spork-0.5.4 spec/spork_spec.rb