Skip to content

Commit 04d5712

Browse files
committed
[rb] allow setting safari technology preview after creating options instance
1 parent 08ee2d9 commit 04d5712

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

rb/lib/selenium/webdriver/safari/options.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ def add_option(name, value = nil)
3535
super
3636
end
3737

38+
def as_json(*)
39+
@options[:browser_name] = Safari.technology_preview? ? "Safari Technology Preview" : 'safari'
40+
super
41+
end
3842
end # Options
3943
end # Safari
4044
end # WebDriver

rb/spec/integration/selenium/webdriver/safari/driver_spec.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,28 @@ module Safari
2727
driver.permissions = {'getUserMedia' => false}
2828
expect(driver.permissions).to eq('getUserMedia' => false)
2929
end
30+
31+
context 'setting technology preview' do
32+
before(:all) { quit_driver }
33+
34+
after do
35+
Service.driver_path = nil
36+
Safari.use_technology_preview = nil
37+
end
38+
39+
it 'sets before options', exclusive: {browser: :safari} do
40+
Safari.technology_preview!
41+
local_driver = WebDriver.for :safari
42+
expect(local_driver.capabilities.browser_name).to eq 'Safari Technology Preview'
43+
end
44+
45+
it 'sets after options' do
46+
options = Options.safari
47+
Safari.technology_preview!
48+
local_driver = WebDriver.for :safari, options: options
49+
expect(local_driver.capabilities.browser_name).to eq 'Safari Technology Preview'
50+
end
51+
end
3052
end
3153
end # Safari
3254
end # WebDriver

0 commit comments

Comments
 (0)