use Capybara.server_port if specified
This commit is contained in:
parent
a4ed172f77
commit
5784f03d6a
|
@ -14,6 +14,7 @@ module Capybara
|
|||
|
||||
class << self
|
||||
attr_accessor :asset_root, :app_host, :run_server, :default_host
|
||||
attr_accessor :server_port
|
||||
attr_accessor :default_selector, :default_wait_time, :ignore_hidden_elements
|
||||
attr_accessor :save_and_open_page_path
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ module Capybara
|
|||
@port = Capybara::Server.ports[@app.object_id]
|
||||
|
||||
if not @port or not responsive?
|
||||
@port = find_available_port
|
||||
@port = Capybara.server_port || find_available_port
|
||||
Capybara::Server.ports[@app.object_id] = @port
|
||||
|
||||
Thread.new { handler.run(Identify.new(@app), :Port => @port, :AccessLog => []) }
|
||||
|
|
|
@ -17,6 +17,18 @@ describe Capybara::Server do
|
|||
end.should_not raise_error
|
||||
end
|
||||
|
||||
it "should use specified port" do
|
||||
Capybara.server_port = 22789
|
||||
|
||||
@app = proc { |env| [200, {}, "Hello Server!"]}
|
||||
@server = Capybara::Server.new(@app).boot
|
||||
|
||||
@res = Net::HTTP.start(@server.host, 22789) { |http| http.get('/') }
|
||||
@res.body.should include('Hello Server')
|
||||
|
||||
Capybara.server_port = nil
|
||||
end
|
||||
|
||||
it "should find an available port" do
|
||||
@app1 = proc { |env| [200, {}, "Hello Server!"]}
|
||||
@app2 = proc { |env| [200, {}, "Hello Second Server!"]}
|
||||
|
|
Loading…
Reference in New Issue