Skip to content

Commit b5a27ad

Browse files
luke-hillp0deje
authored andcommitted
Remove a couple of TODO's and add some context around the w3c progress of chromedriver
Signed-off-by: Alex Rodionov <[email protected]>
1 parent 81c4f8b commit b5a27ad

File tree

3 files changed

+64
-39
lines changed

3 files changed

+64
-39
lines changed

rb/lib/selenium/webdriver/firefox/profile.rb

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,20 +73,9 @@ def initialize(model = nil)
7373
model_prefs = read_model_prefs
7474

7575
if model_prefs.empty?
76-
@native_events = DEFAULT_ENABLE_NATIVE_EVENTS
77-
@secure_ssl = DEFAULT_SECURE_SSL
78-
@untrusted_issuer = DEFAULT_ASSUME_UNTRUSTED_ISSUER
79-
@load_no_focus_lib = DEFAULT_LOAD_NO_FOCUS_LIB
80-
81-
@additional_prefs = {}
76+
assign_default_preferences
8277
else
83-
# TODO: clean this up
84-
@native_events = model_prefs.delete(WEBDRIVER_PREFS[:native_events]) == 'true'
85-
@secure_ssl = model_prefs.delete(WEBDRIVER_PREFS[:untrusted_certs]) != 'true'
86-
@untrusted_issuer = model_prefs.delete(WEBDRIVER_PREFS[:untrusted_issuer]) == 'true'
87-
# not stored in profile atm, so will always be false.
88-
@load_no_focus_lib = model_prefs.delete(WEBDRIVER_PREFS[:load_no_focus_lib]) == 'true'
89-
@additional_prefs = model_prefs
78+
assign_updated_preferences(model_prefs)
9079
end
9180

9281
@extensions = {}
@@ -195,6 +184,24 @@ def encoded
195184

196185
private
197186

187+
def assign_default_preferences
188+
@native_events = DEFAULT_ENABLE_NATIVE_EVENTS
189+
@secure_ssl = DEFAULT_SECURE_SSL
190+
@untrusted_issuer = DEFAULT_ASSUME_UNTRUSTED_ISSUER
191+
@load_no_focus_lib = DEFAULT_LOAD_NO_FOCUS_LIB
192+
193+
@additional_prefs = {}
194+
end
195+
196+
def assign_updated_preferences(model_prefs)
197+
@native_events = model_prefs.delete(WEBDRIVER_PREFS[:native_events]) == 'true'
198+
@secure_ssl = model_prefs.delete(WEBDRIVER_PREFS[:untrusted_certs]) != 'true'
199+
@untrusted_issuer = model_prefs.delete(WEBDRIVER_PREFS[:untrusted_issuer]) == 'true'
200+
# not stored in profile atm, so will always be false.
201+
@load_no_focus_lib = model_prefs.delete(WEBDRIVER_PREFS[:load_no_focus_lib]) == 'true'
202+
@additional_prefs = model_prefs
203+
end
204+
198205
def set_manual_proxy_preference(key, value)
199206
return unless value
200207

rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,8 @@ def create_chrome_driver(opt = {})
232232
WebDriver::Chrome::Service.driver_path = server if server
233233

234234
# https://bugs.chromium.org/p/chromedriver/issues/detail?id=2536
235+
# Current status can be found here (70% as of February 2019)
236+
# https://chromium.googlesource.com/chromium/src/+/master/docs/chromedriver_status.md
235237
# TODO: remove before Selenium 4 release
236238
opt[:options] = WebDriver::Chrome::Options.new(options: {w3c: true}) unless opt[:options]
237239

rb/spec/integration/selenium/webdriver/zipper_spec.rb

Lines changed: 42 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@
2222
module Selenium
2323
module WebDriver
2424
describe Zipper do
25-
#
26-
# TODO: clean this spec up
27-
#
28-
2925
let(:base_file_name) { 'file.txt' }
3026
let(:file_content) { 'content' }
3127
let(:zip_file) { File.join(Dir.tmpdir, 'test.zip') }
@@ -42,40 +38,60 @@ def create_file
4238
FileUtils.rm_rf zip_file
4339
end
4440

45-
it 'zips and unzips a folder' do
46-
create_file
41+
context 'can zip' do
42+
it 'a file' do
43+
File.open(zip_file, 'wb') do |io|
44+
io << Base64.decode64(Zipper.zip_file(create_file))
45+
end
4746

48-
File.open(zip_file, 'wb') do |io|
49-
io << Base64.decode64(Zipper.zip(dir_to_zip))
47+
expect(File).to exist(zip_file)
5048
end
5149

52-
unzipped = Zipper.unzip(zip_file)
53-
expect(File.read(File.join(unzipped, base_file_name))).to eq(file_content)
54-
end
50+
it 'a folder' do
51+
create_file
5552

56-
it 'zips and unzips a single file' do
57-
file_to_zip = create_file
53+
File.open(zip_file, 'wb') do |io|
54+
io << Base64.decode64(Zipper.zip(dir_to_zip))
55+
end
5856

59-
File.open(zip_file, 'wb') do |io|
60-
io << Base64.decode64(Zipper.zip_file(file_to_zip))
57+
expect(File).to exist(zip_file)
6158
end
6259

63-
unzipped = Zipper.unzip(zip_file)
64-
expect(File.read(File.join(unzipped, base_file_name))).to eq(file_content)
60+
it 'follows symlinks' do
61+
filename = create_file
62+
File.symlink(filename, File.join(dir_to_zip, 'link'))
63+
64+
zip_file = File.join(Dir.tmpdir, 'test.zip')
65+
File.open(zip_file, 'wb') do |io|
66+
io << Base64.decode64(Zipper.zip(dir_to_zip))
67+
end
68+
69+
unzipped = Zipper.unzip(zip_file)
70+
expect(File.read(File.join(unzipped, 'link'))).to eq(file_content)
71+
end
6572
end
6673

67-
it 'follows symlinks when zipping' do
68-
filename = create_file
69-
File.symlink(filename, File.join(dir_to_zip, 'link'))
74+
context 'can unzip' do
75+
it 'a file' do
76+
File.open(zip_file, 'wb') do |io|
77+
io << Base64.decode64(Zipper.zip_file(create_file))
78+
end
7079

71-
zip_file = File.join(Dir.tmpdir, 'test.zip')
72-
File.open(zip_file, 'wb') do |io|
73-
io << Base64.decode64(Zipper.zip(dir_to_zip))
80+
unzipped = Zipper.unzip(zip_file)
81+
expect(File.read(File.join(unzipped, base_file_name))).to eq(file_content)
7482
end
7583

76-
unzipped = Zipper.unzip(zip_file)
77-
expect(File.read(File.join(unzipped, 'link'))).to eq(file_content)
84+
it 'a folder' do
85+
create_file
86+
87+
File.open(zip_file, 'wb') do |io|
88+
io << Base64.decode64(Zipper.zip(dir_to_zip))
89+
end
90+
91+
unzipped = Zipper.unzip(zip_file)
92+
expect(File.read(File.join(unzipped, base_file_name))).to eq(file_content)
93+
end
7894
end
79-
end
95+
end # Zipper
8096
end # WebDriver
8197
end # Selenium

0 commit comments

Comments
 (0)