From 93bfcf6e4642b14a1f401706f14bf672568fa7f0 Mon Sep 17 00:00:00 2001 From: Matthew Mongeau Date: Fri, 14 Oct 2011 17:13:06 -0400 Subject: [PATCH] Clean up proxy interface --- lib/capybara/driver/webkit/browser.rb | 24 +++++++++++++++--------- spec/browser_spec.rb | 2 +- src/CommandFactory.cpp | 1 + 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lib/capybara/driver/webkit/browser.rb b/lib/capybara/driver/webkit/browser.rb index 5ae58ade..bb77f500 100644 --- a/lib/capybara/driver/webkit/browser.rb +++ b/lib/capybara/driver/webkit/browser.rb @@ -99,16 +99,13 @@ def get_cookies command("GetCookies").lines.map{ |line| line.strip }.select{ |line| !line.empty? } end - def set_proxy(opts = {}) - # remove proxy? - return command("SetProxy") if opts.empty? + def set_proxy(options = {}) + options = default_proxy_options.merge(options) + command("SetProxy", options[:host], options[:port], options[:user], options[:pass]) + end - # set a HTTP proxy - command("SetProxy", - opts[:host] || "localhost", - opts[:port] || "0", - opts[:user] || "", - opts[:pass] || "") + def clear_proxy + command("SetProxy") end private @@ -206,5 +203,14 @@ def read_response response.force_encoding("UTF-8") if response.respond_to?(:force_encoding) response end + + def default_proxy_options + { + :host => "localhost", + :port => "0", + :user => "", + :pass => "" + } + end end end diff --git a/spec/browser_spec.rb b/spec/browser_spec.rb index 84ba461b..69456db1 100644 --- a/spec/browser_spec.rb +++ b/spec/browser_spec.rb @@ -170,7 +170,7 @@ it 'is possible to disable proxy again' do @proxy_requests.clear - browser.set_proxy + browser.clear_proxy browser.visit "http://#{@host}:#{@port}/" @proxy_requests.size.should == 0 end diff --git a/src/CommandFactory.cpp b/src/CommandFactory.cpp index 7aaa9215..dc7df068 100644 --- a/src/CommandFactory.cpp +++ b/src/CommandFactory.cpp @@ -17,6 +17,7 @@ #include "SetCookie.h" #include "ClearCookies.h" #include "GetCookies.h" +#include "SetProxy.h" CommandFactory::CommandFactory(WebPage *page, QObject *parent) : QObject(parent) { m_page = page;