Sha256: df6e5915741157e5b56601ead7e2344679b5f58294599591bb833b27f1115d6c
Contents?: true
Size: 923 Bytes
Versions: 46
Compression:
Stored size: 923 Bytes
Contents
require "webrat/rack" require "sinatra/test" module Webrat class SinatraSession < RackSession include Sinatra::Test attr_reader :request, :response def initialize(context = nil) super(context) app = context.respond_to?(:app) ? context.app : Sinatra::Application @browser = Sinatra::TestHarness.new(app) end %w(get head post put delete).each do |verb| class_eval <<-RUBY def #{verb}(path, data, headers = {}) params = data.inject({}) do |data, (key,value)| data[key] = Rack::Utils.unescape(value) data end headers["HTTP_HOST"] = "www.example.com" @browser.#{verb}(path, params, headers) end RUBY end def response_body @browser.body end def response_code @browser.status end private def response @browser.response end end end
Version data entries
46 entries across 46 versions & 19 rubygems