selenium-webdriver 2.21.2 → 2.22.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,8 @@
1
+ 2.22.0 (???)
2
+ ============
3
+
4
+ * Fix conflict with ActiveSupport's Object#load (#3819)
5
+
1
6
  2.21.2 (2012-04-18)
2
7
  ===================
3
8
 
@@ -8,6 +8,8 @@ require 'selenium/webdriver/common'
8
8
 
9
9
  module Selenium
10
10
  module WebDriver
11
+ extend JsonHelper
12
+
11
13
  Point = Struct.new(:x, :y)
12
14
  Dimension = Struct.new(:width, :height)
13
15
  Location = Struct.new(:latitude, :longitude, :altitude)
@@ -63,29 +65,5 @@ module Selenium
63
65
  WebDriver::Driver.for(*args)
64
66
  end
65
67
 
66
- if MultiJson.respond_to?(:dump)
67
- # @api private
68
- def self.json_dump(obj)
69
- MultiJson.dump(obj)
70
- end
71
- else
72
- # @api private
73
- def self.json_dump(obj)
74
- MultiJson.encode(obj)
75
- end
76
- end
77
-
78
- if MultiJson.respond_to?(:load)
79
- # @api private
80
- def self.json_load(obj)
81
- MultiJson.load(obj)
82
- end
83
- else
84
- # @api private
85
- def self.json_load(obj)
86
- MultiJson.decode(obj)
87
- end
88
- end
89
-
90
68
  end # WebDriver
91
69
  end # Selenium
@@ -35,5 +35,6 @@ require 'selenium/webdriver/common/driver_extensions/uploads_files'
35
35
  require 'selenium/webdriver/common/keys'
36
36
  require 'selenium/webdriver/common/bridge_helper'
37
37
  require 'selenium/webdriver/common/profile_helper'
38
+ require 'selenium/webdriver/common/json_helper'
38
39
  require 'selenium/webdriver/common/driver'
39
40
  require 'selenium/webdriver/common/element'
@@ -0,0 +1,34 @@
1
+ module Selenium
2
+ module WebDriver
3
+ module JsonHelper
4
+
5
+ # ActiveSupport may define Object#load, so we can't use MultiJson.respond_to? here
6
+ sm = MultiJson.singleton_methods.map { |e| e.to_sym }
7
+
8
+ if sm.include? :load
9
+ # @api private
10
+ def json_load(obj)
11
+ MultiJson.load(obj)
12
+ end
13
+ else
14
+ # @api private
15
+ def json_load(obj)
16
+ MultiJson.decode(obj)
17
+ end
18
+ end
19
+
20
+ if sm.include? :dump
21
+ # @api private
22
+ def json_dump(obj)
23
+ MultiJson.dump(obj)
24
+ end
25
+ else
26
+ # @api private
27
+ def json_dump(obj)
28
+ MultiJson.encode(obj)
29
+ end
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -41,9 +41,9 @@ module Selenium
41
41
 
42
42
  def quit
43
43
  super
44
- @launcher.quit
45
-
46
44
  nil
45
+ ensure
46
+ @launcher.quit
47
47
  end
48
48
 
49
49
  private
@@ -50,18 +50,21 @@ module Selenium
50
50
 
51
51
  params.merge!(command_hash) if command_hash
52
52
 
53
- @server.send :id => @command_id.to_s,
54
- :name => command,
55
- :parameters => params
53
+ @server.send(
54
+ :origin => "webdriver",
55
+ :type => "command",
56
+ :command => { :id => @command_id.to_s, :name => command, :parameters => params}
57
+ )
56
58
 
57
- response = @server.receive
59
+ raw = @server.receive
60
+ response = raw.fetch('response')
58
61
 
59
62
  status_code = response['status']
60
63
  if status_code != 0
61
64
  raise Error.for_code(status_code), response['value']['message']
62
65
  end
63
66
 
64
- if response['id'] != @command_id.to_s
67
+ if raw['id'] != @command_id.to_s
65
68
  raise Error::WebDriverError, "response id does not match command id"
66
69
  end
67
70
 
@@ -82,8 +82,8 @@ Server: safaridriver-ruby
82
82
  // SafariDriver extension.
83
83
  window.onload = function() {
84
84
  window.postMessage({
85
- 'message': 'connect',
86
- 'source': 'webdriver',
85
+ 'type': 'connect',
86
+ 'origin': 'webdriver',
87
87
  'url': '%s'
88
88
  }, '*');
89
89
  };
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selenium-webdriver
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 2.21.2
4
+ prerelease: 7
5
+ version: 2.22.0.rc1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jari Bakken
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-04-18 00:00:00 +01:00
13
+ date: 2012-05-01 00:00:00 +02:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -159,6 +159,7 @@ files:
159
159
  - lib/selenium/webdriver/common/element.rb
160
160
  - lib/selenium/webdriver/common/error.rb
161
161
  - lib/selenium/webdriver/common/file_reaper.rb
162
+ - lib/selenium/webdriver/common/json_helper.rb
162
163
  - lib/selenium/webdriver/common/keyboard.rb
163
164
  - lib/selenium/webdriver/common/keys.rb
164
165
  - lib/selenium/webdriver/common/mouse.rb
@@ -248,9 +249,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
248
249
  required_rubygems_version: !ruby/object:Gem::Requirement
249
250
  none: false
250
251
  requirements:
251
- - - ">="
252
+ - - ">"
252
253
  - !ruby/object:Gem::Version
253
- version: "0"
254
+ version: 1.3.1
254
255
  requirements: []
255
256
 
256
257
  rubyforge_project: