Skip to content

Commit

Permalink
[rb] Don't modify income Chrome driver options
Browse files Browse the repository at this point in the history
Chrome WebDriver initializer modifies incoming options
for driver. Ruby's "good practices" generally boil down to not mutating data you don't own.
  • Loading branch information
miry authored and titusfortner committed Apr 1, 2019
1 parent 98391bd commit a2a0ebd
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
1 change: 1 addition & 0 deletions rb/lib/selenium/webdriver/chrome/service.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ def cannot_connect_error_text

def extract_service_args(driver_opts)
driver_args = super
driver_opts = driver_opts.dup
driver_args << "--log-path=#{driver_opts.delete(:log_path)}" if driver_opts.key?(:log_path)
driver_args << "--url-base=#{driver_opts.delete(:url_base)}" if driver_opts.key?(:url_base)
driver_args << "--port-server=#{driver_opts.delete(:port_server)}" if driver_opts.key?(:port_server)
Expand Down
2 changes: 1 addition & 1 deletion rb/spec/unit/selenium/webdriver/chrome/service_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ module Chrome
driver_opts = {port_server: '2323',
whitelisted_ips: ['192.168.0.1', '192.168.0.2'],
silent: true,
log_path: '/path/to/log'}
log_path: '/path/to/log'}.freeze

args = ["--log-path=#{driver_opts[:log_path]}",
"--port-server=#{driver_opts[:port_server]}",
Expand Down

0 comments on commit a2a0ebd

Please sign in to comment.