Sha256: 423d5d7c621bf86df948a6ca040bb40c4da5b7a44bf82eca77fd79f6177d861e
Contents?: true
Size: 1.51 KB
Versions: 4
Compression:
Stored size: 1.51 KB
Contents
require "webrat/core" require "cgi" gem "extlib" require "extlib" require "merb-core" HashWithIndifferentAccess = Mash module Webrat class MerbSession < Session #:nodoc: include Merb::Test::MakeRequest attr_accessor :response def get(url, data, headers = nil) do_request(url, data, headers, "GET") end def post(url, data, headers = nil) do_request(url, data, headers, "POST") end def put(url, data, headers = nil) do_request(url, data, headers, "PUT") end def delete(url, data, headers = nil) do_request(url, data, headers, "DELETE") end def response_body @response.body.to_s end def response_code @response.status end def do_request(url, data, headers, method) @response = request(url, :params => (data && data.any?) ? data : nil, :headers => headers, :method => method) follow_redirect 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 #:nodoc: def request(uri, env = {}) @_webrat_session ||= Webrat::MerbSession.new @_webrat_session.response = @_webrat_session.request(uri, env) end def follow_redirect @_webrat_session.follow_redirect end end end end class Merb::Test::RspecStory #:nodoc: def browser @browser ||= Webrat::MerbSession.new end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
webrat-0.3.2 | lib/webrat/merb.rb |
webrat-0.3.3 | lib/webrat/merb.rb |
webrat-0.3.1 | lib/webrat/merb.rb |
webrat-0.3.4 | lib/webrat/merb.rb |