@@ -25,13 +25,9 @@ module Remote
25
25
# Specification of the desired and/or actual capabilities of the browser that the
26
26
# server is being asked to create.
27
27
#
28
- # @api private
29
- #
30
28
31
29
class Capabilities
32
30
33
- EXTENSION_CAPABILITY_PATTERN = /\A [\w -]+:.*\z / . freeze
34
-
35
31
KNOWN = [
36
32
:browser_name ,
37
33
:browser_version ,
@@ -92,7 +88,7 @@ def chrome(opts = {})
92
88
def edge ( opts = { } )
93
89
new ( {
94
90
browser_name : 'MicrosoftEdge' ,
95
- platform : :windows
91
+ platform_name : :windows
96
92
} . merge ( opts ) )
97
93
end
98
94
@@ -111,7 +107,7 @@ def firefox(opts = {})
111
107
def safari ( opts = { } )
112
108
new ( {
113
109
browser_name : 'safari' ,
114
- platform : :mac
110
+ platform_name : :mac
115
111
} . merge ( opts ) )
116
112
end
117
113
@@ -121,17 +117,10 @@ def htmlunit(opts = {})
121
117
} . merge ( opts ) )
122
118
end
123
119
124
- def htmlunitwithjs ( opts = { } )
125
- new ( {
126
- browser_name : 'htmlunit' ,
127
- javascript_enabled : true
128
- } . merge ( opts ) )
129
- end
130
-
131
120
def internet_explorer ( opts = { } )
132
121
new ( {
133
122
browser_name : 'internet explorer' ,
134
- platform : :windows
123
+ platform_name : :windows
135
124
} . merge ( opts ) )
136
125
end
137
126
alias_method :ie , :internet_explorer
@@ -176,56 +165,6 @@ def json_create(data)
176
165
177
166
caps
178
167
end
179
-
180
- #
181
- # Creates W3C compliant capabilities from OSS ones.
182
- # @param oss_capabilities [Hash, Remote::Capabilities]
183
- #
184
-
185
- def from_oss ( oss_capabilities )
186
- w3c_capabilities = new
187
-
188
- # TODO: (AR) make capabilities enumerable?
189
- oss_capabilities = oss_capabilities . __send__ ( :capabilities ) unless oss_capabilities . is_a? ( Hash )
190
- oss_capabilities . each do |name , value |
191
- next if value . nil?
192
- next if value . is_a? ( String ) && value . empty?
193
-
194
- capability_name = name . to_s
195
-
196
- snake_cased_capability_names = KNOWN . map ( &:to_s )
197
- camel_cased_capability_names = snake_cased_capability_names . map ( &w3c_capabilities . method ( :camel_case ) )
198
-
199
- next unless snake_cased_capability_names . include? ( capability_name ) ||
200
- camel_cased_capability_names . include? ( capability_name ) ||
201
- capability_name . match ( EXTENSION_CAPABILITY_PATTERN )
202
-
203
- w3c_capabilities [ name ] = value
204
- end
205
-
206
- # User can pass :firefox_options or :firefox_profile.
207
- #
208
- # TODO: (AR) Refactor this whole method into converter class.
209
- firefox_options = oss_capabilities [ 'firefoxOptions' ] || oss_capabilities [ 'firefox_options' ] || oss_capabilities [ :firefox_options ]
210
- firefox_profile = oss_capabilities [ 'firefox_profile' ] || oss_capabilities [ :firefox_profile ]
211
- firefox_binary = oss_capabilities [ 'firefox_binary' ] || oss_capabilities [ :firefox_binary ]
212
-
213
- if firefox_profile && firefox_options
214
- second_profile = firefox_options [ 'profile' ] || firefox_options [ :profile ]
215
- if second_profile && firefox_profile != second_profile
216
- raise Error ::WebDriverError , 'You cannot pass 2 different Firefox profiles'
217
- end
218
- end
219
-
220
- if firefox_options || firefox_profile || firefox_binary
221
- options = WebDriver ::Firefox ::Options . new ( firefox_options || { } )
222
- options . binary = firefox_binary if firefox_binary
223
- options . profile = firefox_profile if firefox_profile
224
- w3c_capabilities . merge! ( options . as_json )
225
- end
226
-
227
- w3c_capabilities
228
- end
229
168
end
230
169
231
170
#
@@ -281,7 +220,7 @@ def proxy=(proxy)
281
220
# @api private
282
221
#
283
222
284
- def as_json ( *) # rubocop:disable Metrics/CyclomaticComplexity
223
+ def as_json ( *)
285
224
hash = { }
286
225
287
226
@capabilities . each do |key , value |
0 commit comments