diff --git a/lib/capybara/session/config.rb b/lib/capybara/session/config.rb index 4d8a3149d..ef33047bf 100644 --- a/lib/capybara/session/config.rb +++ b/lib/capybara/session/config.rb @@ -12,6 +12,9 @@ class SessionConfig attr_accessor(*OPTIONS) + URI_PARSER = defined?(::URI::RFC2396_PARSER) ? ::URI::RFC2396_PARSER : ::URI::DEFAULT_PARSER + private_constant :URI_PARSER + ## # @!method always_include_port # See {Capybara.configure} @@ -83,7 +86,7 @@ def server_errors=(errors) remove_method :app_host= def app_host=(url) - unless url.nil? || url.match?(URI::DEFAULT_PARSER.make_regexp) + unless url.nil? || url.match?(URI_PARSER.make_regexp) raise ArgumentError, "Capybara.app_host should be set to a url (http://www.example.com). Attempted to set #{url.inspect}." end @@ -92,7 +95,7 @@ def app_host=(url) remove_method :default_host= def default_host=(url) - unless url.nil? || url.match?(URI::DEFAULT_PARSER.make_regexp) + unless url.nil? || url.match?(URI_PARSER.make_regexp) raise ArgumentError, "Capybara.default_host should be set to a url (http://www.example.com). Attempted to set #{url.inspect}." end