spec/spork/server_spec.rb in timcharper-spork-0.5.10 vs spec/spork/server_spec.rb in timcharper-spork-0.6.0
- old
+ new
@@ -1,141 +1,15 @@
require File.dirname(__FILE__) + '/../spec_helper'
-
-class FakeServer < Spork::Server
- attr_accessor :wait_time
-
- include Spork::TestIOStreams
-
- def self.helper_file
- SPEC_TMP_DIR + "/fake/test_helper.rb"
- end
-
- def self.port
- 1000
- end
-
- def run_tests(argv, input, output)
- sleep(@wait_time || 0.5)
- true
- end
-end
-
describe Spork::Server do
- describe ".available_servers" do
- before(:each) do
- Spork::Server.supported_servers.each { |s| s.stub!(:available?).and_return(false) }
- end
-
- it "returns a list of all available servers" do
- Spork::Server.available_servers.should == []
- Spork::Server::RSpec.stub!(:available?).and_return(true)
- Spork::Server.available_servers.should == [Spork::Server::RSpec]
- end
-
- it "returns rspec before cucumber when both are available" do
- Spork::Server::RSpec.stub!(:available?).and_return(true)
- Spork::Server::Cucumber.stub!(:available?).and_return(true)
- Spork::Server.available_servers.should == [Spork::Server::RSpec, Spork::Server::Cucumber]
- end
- end
-
- describe ".supported_servers" do
- it "returns all defined servers" do
- Spork::Server.supported_servers.should include(Spork::Server::RSpec)
- Spork::Server.supported_servers.should include(Spork::Server::Cucumber)
- end
-
- it "returns a list of servers matching a case-insensitive prefix" do
- Spork::Server.supported_servers("rspec").should == [Spork::Server::RSpec]
- Spork::Server.supported_servers("rs").should == [Spork::Server::RSpec]
- Spork::Server.supported_servers("cuc").should == [Spork::Server::Cucumber]
- end
- end
-
describe "a fake server" do
- def create_helper_file
- create_file(FakeServer.helper_file, "# stub spec helper file")
- end
-
before(:each) do
- @fake = FakeServer.new
+ @fake_run_strategy = FakeRunStrategy.new
+ @server = Spork::Server.new(:run_strategy => @fake_run_strategy)
end
-
- it "should be available when the helper_file exists" do
- FakeServer.available?.should == false
- create_helper_file
- FakeServer.available?.should == true
- end
-
- it "has a name" do
- FakeServer.server_name.should == "FakeServer"
- end
-
- it "tells if it's testing framework is being used" do
- Spork::Server.available_servers.should_not include(FakeServer)
- create_helper_file
- Spork::Server.available_servers.should include(FakeServer)
- end
-
- it "recognizes if the helper_file has been bootstrapped" do
- bootstrap_contents = File.read(FakeServer::BOOTSTRAP_FILE)
- File.stub!(:read).with(FakeServer.helper_file).and_return("")
- FakeServer.bootstrapped?.should == false
- File.stub!(:read).with(FakeServer.helper_file).and_return(bootstrap_contents)
- FakeServer.bootstrapped?.should == true
- end
-
- it "bootstraps a file" do
- create_helper_file
- FakeServer.bootstrap
- $test_stderr.string.should include("Bootstrapping")
- $test_stderr.string.should include("Edit")
- $test_stderr.string.should include("favorite text editor")
-
- File.read(FakeServer.helper_file).should include(File.read(FakeServer::BOOTSTRAP_FILE))
- end
-
- it "aborts the current running thread when another run is started" do
- create_helper_file
- @fake.wait_time = 0.25
- first_run = Thread.new { @fake.run("test", STDOUT, STDIN).should == nil }
- sleep(0.05)
- @fake.run("test", STDOUT, STDIN).should == true
-
- # wait for the first to finish
- first_run.join
- end
-
- it "can abort the current run" do
- create_helper_file
- @fake.wait_time = 5
- started_at = Time.now
- first_run = Thread.new { @fake.run("test", STDOUT, STDIN).should == true }
- sleep(0.05)
- @fake.send(:abort)
- sleep(0.01) while @fake.running?
-
- (Time.now - started_at).should < @fake.wait_time
- end
-
- it "returns the result of the run_tests method from the forked child" do
- create_helper_file
- @fake.stub!(:run_tests).and_return("tests were ran")
- @fake.run("test", STDOUT, STDIN).should == "tests were ran"
- end
-
it "accepts a port" do
- create_helper_file
- @fake.class.port = 12345
- @fake.port.should == 12345
+ @server.port = 12345
+ @server.port.should == 12345
end
-
- it "falls back to a default port" do
- create_helper_file
- @fake.class.port = nil
- @fake.port.should == FakeServer.port
- end
-
end
end