blob: 24b77b45d4f582d3e829c99baad6740ddeb90c3a [file] [log] [blame]
require File.expand_path("../../webdriver/spec_helper", __FILE__)
require 'selenium/rake/server_task'
describe Selenium::Rake::ServerTask do
let(:mock_server) { mock(Selenium::Server).as_null_object }
it "raises an error if no jar file is specified" do
lambda {
Selenium::Rake::ServerTask.new
}.should raise_error(Selenium::Rake::MissingJarFileError)
end
it "launches the server with default options" do
expected_opts = {
:port => 4444,
:timeout => 30,
:background => true,
:log => true,
}
Selenium::Server.should_receive(:new).
with("selenium-server.jar", expected_opts).
and_return(mock_server)
task = Selenium::Rake::ServerTask.new { |t| t.jar = "selenium-server.jar" }
task.port.should == 4444
task.timeout.should == 30
task.background.should be_true
task.log.should be_true
task.opts.should == []
end
it "lets the user override the default options" do
expected_opts = {
:port => 5555,
:timeout => 120,
:background => false,
:log => false,
}
Selenium::Server.should_receive(:new).
with("selenium-server.jar", expected_opts).
and_return(mock_server)
task = Selenium::Rake::ServerTask.new { |t|
t.jar = "selenium-server.jar"
t.port = 5555
t.timeout = 120
t.background = false
t.log = false
t.opts << "-some" << "args"
}
task.port.should == 5555
task.timeout.should == 120
task.background.should be_false
task.log.should be_false
task.opts.should == ["-some", "args"]
end
it "lets the user specify a version to use which it will automatically download" do
required_version = '10.2.0'
jar_file = "selenium-server-standalone-#{required_version}.jar"
Selenium::Server.should_receive(:new).
with(jar_file, anything()).
and_return(mock_server)
Selenium::Server.should_receive(:download).
with(required_version).
and_return(jar_file)
Selenium::Rake::ServerTask.new { |t| t.version = required_version }
end
end