mirror of
https://github.com/thoughtbot/capybara-webkit
synced 2023-03-27 23:22:28 -04:00
Add some basic testing for the browser to make sure the random port code is working
This commit is contained in:
parent
9f75414a72
commit
3d39b59071
2 changed files with 30 additions and 1 deletions
|
@ -4,6 +4,8 @@ require 'json'
|
|||
|
||||
class Capybara::Driver::Webkit
|
||||
class Browser
|
||||
attr :server_port
|
||||
|
||||
def initialize(options = {})
|
||||
@socket_class = options[:socket_class] || TCPSocket
|
||||
start_server
|
||||
|
@ -84,7 +86,7 @@ class Capybara::Driver::Webkit
|
|||
|
||||
def discover_server_port(read_pipe)
|
||||
return unless IO.select([read_pipe], nil, nil, 10)
|
||||
((read_pipe.first || '').match(/listening on port: (\d+)/) || [])[1]
|
||||
((read_pipe.first || '').match(/listening on port: (\d+)/) || [])[1].to_i
|
||||
end
|
||||
|
||||
def connect
|
||||
|
|
27
spec/browser_spec.rb
Normal file
27
spec/browser_spec.rb
Normal file
|
@ -0,0 +1,27 @@
|
|||
require 'spec/spec_helper'
|
||||
require 'capybara/driver/webkit/browser'
|
||||
|
||||
describe Capybara::Driver::Webkit::Browser do
|
||||
|
||||
let(:browser) { Capybara::Driver::Webkit::Browser.new }
|
||||
|
||||
describe '#server_port' do
|
||||
subject { browser.server_port }
|
||||
it 'returns a valid port number' do
|
||||
should be_a(Integer)
|
||||
end
|
||||
|
||||
it 'returns a port in the allowed range' do
|
||||
should > 0x400
|
||||
should < 0xffff
|
||||
end
|
||||
end
|
||||
|
||||
context 'random port' do
|
||||
it 'chooses a new port number for a new browser instance' do
|
||||
new_browser = Capybara::Driver::Webkit::Browser.new
|
||||
new_browser.server_port.should_not == browser.server_port
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
Add table
Reference in a new issue