Sha256: 6c5437dc5aebbdb65a6ad84c4a18fe6dbafcb55a0b2a5f4a8421c978a5f871e6

Contents?: true

Size: 1.29 KB

Versions: 20

Compression:

Stored size: 1.29 KB

Contents

require "webrat"

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)
    end

  end
end

module Merb #:nodoc:
  module Test #:nodoc:
    module RequestHelper #:nodoc:
      def request(uri, env = {})
        @_webrat_session ||= Webrat::MerbSession.new
        @_webrat_session.response = @_webrat_session.request(uri, env)
      end
    end
  end
end

class Merb::Test::RspecStory #:nodoc:
  def browser
    @browser ||= Webrat::MerbSession.new
  end
end

Version data entries

20 entries across 20 versions & 8 rubygems

Version Path
diabolo-webrat-0.4.2 lib/webrat/merb_session.rb
hectoregm-webrat-0.4.2 lib/webrat/merb_session.rb
jferris-webrat-0.4.3.0.1238640835 lib/webrat/merb_session.rb
jferris-webrat-0.4.3 lib/webrat/merb_session.rb
jwilger-webrat-0.4.2.1 lib/webrat/merb_session.rb
jwilger-webrat-0.4.2.2 lib/webrat/merb_session.rb
jwilger-webrat-0.4.2.3 lib/webrat/merb_session.rb
jwilger-webrat-0.4.2.4 lib/webrat/merb_session.rb
jwilger-webrat-0.4.2.5 lib/webrat/merb_session.rb
jwilger-webrat-0.4.2 lib/webrat/merb_session.rb
jwilger-webrat-0.4.3.2 lib/webrat/merb_session.rb
jwilger-webrat-0.4.3.3 lib/webrat/merb_session.rb
jwilger-webrat-0.4.3.4 lib/webrat/merb_session.rb
mattwynne-cucover-0.1.0 examples/self_test/rails/vendor/gems/webrat-0.4.4/lib/webrat/merb_session.rb
mattwynne-cucover-0.1.1 examples/self_test/rails/vendor/gems/webrat-0.4.4/lib/webrat/merb_session.rb
mmurphy-webrat-0.4.4 lib/webrat/merb_session.rb
integrity-0.1.9 vendor/webrat/lib/webrat/merb_session.rb
webrat-0.4.2 lib/webrat/merb_session.rb
webrat-0.4.4 lib/webrat/merb_session.rb
webrat-0.4.3 lib/webrat/merb_session.rb