poltergeist 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Poltergeist - A PhantomJS driver for Capybara #
2
2
 
3
- Version: 1.0
3
+ Version: 1.0.1
4
4
 
5
5
  [![Build Status](https://secure.travis-ci.org/jonleighton/poltergeist.png)](http://travis-ci.org/jonleighton/poltergeist)
6
6
 
@@ -286,6 +286,15 @@ Include as much information as possible. For example:
286
286
 
287
287
  ## Changes ##
288
288
 
289
+ ### 1.0.1 ###
290
+
291
+ #### Bug fixes ####
292
+
293
+ * Don't use a fixed port number by default; find an available port.
294
+ The port can still be configured to a fixed value using the `:port`
295
+ option. The reverts the default behaviour to how it was before the
296
+ 1.0 release. [Issue #174]
297
+
289
298
  ### 1.0 ###
290
299
 
291
300
  #### Features ####
@@ -14,6 +14,7 @@ module Capybara
14
14
  require 'capybara/poltergeist/network_traffic'
15
15
  require 'capybara/poltergeist/errors'
16
16
  require 'capybara/poltergeist/cookie'
17
+ require 'capybara/poltergeist/util'
17
18
  end
18
19
  end
19
20
 
@@ -3,7 +3,6 @@ require 'uri'
3
3
  module Capybara::Poltergeist
4
4
  class Driver < Capybara::Driver::Base
5
5
  DEFAULT_TIMEOUT = 30
6
- DEFAULT_PORT = 44678 # 'GHOST' on a keypad :)
7
6
 
8
7
  attr_reader :app, :app_server, :server, :client, :browser, :options
9
8
 
@@ -29,8 +28,8 @@ module Capybara::Poltergeist
29
28
 
30
29
  def server
31
30
  @server ||= Server.new(
32
- options.fetch(:port, DEFAULT_PORT),
33
- options.fetch(:timeout, DEFAULT_TIMEOUT)
31
+ options.fetch(:port) { Util.find_available_port },
32
+ options.fetch(:timeout) { DEFAULT_TIMEOUT }
34
33
  )
35
34
  end
36
35
 
@@ -0,0 +1,12 @@
1
+ require 'socket'
2
+
3
+ module Capybara::Poltergeist
4
+ module Util
5
+ def self.find_available_port
6
+ server = TCPServer.new('127.0.0.1', 0)
7
+ server.addr[1]
8
+ ensure
9
+ server.close if server
10
+ end
11
+ end
12
+ end
@@ -1,5 +1,5 @@
1
1
  module Capybara
2
2
  module Poltergeist
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poltergeist
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-07 00:00:00.000000000 Z
12
+ date: 2012-10-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capybara
@@ -222,6 +222,7 @@ files:
222
222
  - lib/capybara/poltergeist/browser.rb
223
223
  - lib/capybara/poltergeist/inspector.rb
224
224
  - lib/capybara/poltergeist/errors.rb
225
+ - lib/capybara/poltergeist/util.rb
225
226
  - lib/capybara/poltergeist/web_socket_server.rb
226
227
  - lib/capybara/poltergeist/json.rb
227
228
  - lib/capybara/poltergeist/network_traffic/request.rb
@@ -260,7 +261,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
260
261
  version: '0'
261
262
  segments:
262
263
  - 0
263
- hash: -4328509354684293409
264
+ hash: 4082965460771715410
264
265
  required_rubygems_version: !ruby/object:Gem::Requirement
265
266
  none: false
266
267
  requirements:
@@ -269,7 +270,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
269
270
  version: '0'
270
271
  segments:
271
272
  - 0
272
- hash: -4328509354684293409
273
+ hash: 4082965460771715410
273
274
  requirements: []
274
275
  rubyforge_project:
275
276
  rubygems_version: 1.8.24