Skip to content

Commit c3a2814

Browse files
committed
Allow custom args
1 parent 863d9c8 commit c3a2814

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

lib/browserstack/local.rb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ def add_args(key, value=nil)
4949
elsif key == "forceproxy" && value.to_s != "false"
5050
@force_proxy_flag = "-forceproxy"
5151
else
52-
if value.to_s.downcase != true || value.to_s.downcase! != false
52+
if value.to_s.downcase.eql?("true")
5353
@user_arguments << "-#{key}"
5454
else
55-
@user_arguments << "-#{key} #{value}"
55+
@user_arguments << "-#{key} '#{value}'"
5656
end
5757
end
5858
end
@@ -122,12 +122,11 @@ def stop
122122
end
123123

124124
def command
125-
"#{@exec} #{@binary_path} -logFile '#{@logfile}' #{@folder_flag} #{@key} #{@folder_path} #{@force_local_flag} #{@local_identifier_flag} #{@only_flag} #{@only_automate_flag} #{@proxy_host} #{@proxy_port} #{@proxy_user} #{@proxy_pass} #{@force_proxy_flag} #{@force_flag} #{@verbose_flag} #{@hosts}".strip
125+
"#{@exec} #{@binary_path} -logFile '#{@logfile}' #{@folder_flag} #{@key} #{@folder_path} #{@force_local_flag} #{@local_identifier_flag} #{@only_flag} #{@only_automate_flag} #{@proxy_host} #{@proxy_port} #{@proxy_user} #{@proxy_pass} #{@force_proxy_flag} #{@force_flag} #{@verbose_flag} #{@hosts} #{@user_arguments.join(" ")}".strip
126126
end
127127

128128
def command_args
129-
args = ["#{@binary_path}", "-logFile", "#{@logfile}", "#{@key}", "#{@folder_flag}", "#{@folder_path}", "#{@force_local_flag}", "#{@local_identifier_flag}", "#{@only_flag}", "#{@only_automate_flag}", "#{@proxy_host}", "#{@proxy_port}", "#{@proxy_user}", "#{@proxy_pass}", "#{@force_proxy_flag}","#{@force_flag}", "#{@verbose_flag}", "#{@hosts}"]
130-
args = args + @user_arguments
129+
args = ["#{@binary_path}", "-logFile", "#{@logfile}", "#{@key}", "#{@folder_flag}", "#{@folder_path}", "#{@force_local_flag}", "#{@local_identifier_flag}", "#{@only_flag}", "#{@only_automate_flag}", "#{@proxy_host}", "#{@proxy_port}", "#{@proxy_user}", "#{@proxy_pass}", "#{@force_proxy_flag}","#{@force_flag}", "#{@verbose_flag}", "#{@hosts}", "#{@user_arguments.join(" ")}"]
131130
args = args.select {|a| a.to_s != "" }
132131
args.push(:err => [:child, :out])
133132
args

test/browserstack-local-test.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,20 @@ def test_set_local_identifier
6464
assert_match /\-localIdentifier \'randomString\'/, @bs_local.command
6565
end
6666

67+
def test_custom_boolean_argument
68+
@bs_local.add_args "boolArg1"
69+
@bs_local.add_args "boolArg2"
70+
assert_match /\-boolArg1/, @bs_local.command
71+
assert_match /\-boolArg2/, @bs_local.command
72+
end
73+
74+
def test_custom_keyval
75+
@bs_local.add_args "customKey1", "custom value1"
76+
@bs_local.add_args "customKey2", "custom value2"
77+
assert_match /\-customKey1 \'custom value1\'/, @bs_local.command
78+
assert_match /\-customKey2 \'custom value2\'/, @bs_local.command
79+
end
80+
6781
def test_set_proxy
6882
@bs_local.add_args "proxyHost", "localhost"
6983
@bs_local.add_args "proxyPort", 8080

0 commit comments

Comments
 (0)