poltergeist 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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