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