Skip to content

Commit

Permalink
Merge branch 'merb'
Browse files Browse the repository at this point in the history
  • Loading branch information
brynary committed Nov 4, 2008
2 parents ca9d044 + 85f16d2 commit 87f549b
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 115 deletions.
29 changes: 24 additions & 5 deletions lib/webrat/merb.rb
Expand Up @@ -2,9 +2,9 @@

module Webrat
class Session
include Merb::Test::RequestHelper
include Merb::Test::MakeRequest

attr_reader :response
attr_accessor :response

def get(url, data, headers = nil)
do_request(url, data, headers, "GET")
Expand All @@ -29,17 +29,36 @@ def response_body
def response_code
@response.status
end

protected

def do_request(url, data, headers, method)
@response = request(url, :params => (data && data.any?) ? data : nil, :headers => headers, :method => method)
@response = request(url,
:params => (data && data.any?) ? data : nil,
:headers => headers, :method => method)
self.get(@response.headers['Location'], nil, @response.headers) if @response.status == 302
end

def follow_redirect
self.get(@response.headers['Location'], nil, @response.headers) if @response.status == 302
end

end
end

module Merb
module Test
module RequestHelper
def request(uri, env = {})
@session ||= Webrat::Session.new
@session.response = @session.request(uri, env)
end

def follow_redirect
@session.follow_redirect
end
end
end
end

class Merb::Test::RspecStory
def browser
@browser ||= Webrat::Session.new
Expand Down
19 changes: 6 additions & 13 deletions lib/webrat/merb/param_parser.rb
@@ -1,21 +1,14 @@
require "cgi"
require "webrat/core_extensions/blank"
require "webrat/merb/url_encoded_pair_parser"
gem "extlib"
require "extlib"
require "merb-core"

HashWithIndifferentAccess = Mash

module Webrat
class ParamParser
def self.parse_query_parameters(query_string)
return {} if query_string.blank?

pairs = query_string.split('&').collect do |chunk|
next if chunk.empty?
key, value = chunk.split('=', 2)
next if key.empty?
value = value.nil? ? nil : CGI.unescape(value)
[ CGI.unescape(key), value ]
end.compact

UrlEncodedPairParser.new(pairs).result
Merb::Parse.query(query_string)
end
end
end
97 changes: 0 additions & 97 deletions lib/webrat/merb/url_encoded_pair_parser.rb

This file was deleted.

0 comments on commit 87f549b

Please sign in to comment.