Cleanup the way the tests switch Webrat modes
This commit is contained in:
parent
22c7834512
commit
0eaad52768
|
@ -1,4 +1,6 @@
|
|||
require "webrat"
|
||||
|
||||
require "action_controller"
|
||||
require "action_controller/integration"
|
||||
|
||||
module Webrat
|
||||
|
|
|
@ -7,27 +7,9 @@ begin require "redgreen" unless ENV['TM_CURRENT_LINE']; rescue LoadError; end
|
|||
webrat_path = File.expand_path(File.dirname(__FILE__) + "/../lib/")
|
||||
$LOAD_PATH.unshift(webrat_path) unless $LOAD_PATH.include?(webrat_path)
|
||||
|
||||
require "merb-core"
|
||||
require "webrat/merb"
|
||||
|
||||
require "webrat"
|
||||
require File.expand_path(File.dirname(__FILE__) + "/fakes/test_session")
|
||||
|
||||
Spec::Runner.configure do |config|
|
||||
include Webrat::Methods
|
||||
|
||||
def with_html(html)
|
||||
raise "This doesn't look like HTML. Wrap it in a <html> tag" unless html =~ /^\s*<[^Hh>]*html/i
|
||||
webrat_session.response_body = html
|
||||
end
|
||||
|
||||
def with_xml(xml)
|
||||
raise "This looks like HTML" if xml =~ /^\s*<[^Hh>]*html/i
|
||||
webrat_session.response_body = xml
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
module Webrat
|
||||
@@previous_config = nil
|
||||
|
||||
|
@ -38,10 +20,30 @@ module Webrat
|
|||
def self.reset_for_test
|
||||
@@configuration = @@previous_config if @@previous_config
|
||||
end
|
||||
end
|
||||
|
||||
Spec::Runner.configure do |config|
|
||||
include Webrat::Methods
|
||||
|
||||
class Configuration
|
||||
def mode_for_test= (mode)
|
||||
@mode = mode
|
||||
end
|
||||
def with_html(html)
|
||||
raise "This doesn't look like HTML. Wrap it in a <html> tag" unless html =~ /^\s*<[^Hh>]*html/i
|
||||
webrat_session.response_body = html
|
||||
end
|
||||
end
|
||||
|
||||
def with_xml(xml)
|
||||
raise "This looks like HTML" if xml =~ /^\s*<[^Hh>]*html/i
|
||||
webrat_session.response_body = xml
|
||||
end
|
||||
|
||||
config.before :each do
|
||||
Webrat.cache_config_for_test
|
||||
end
|
||||
|
||||
config.after :each do
|
||||
Webrat.reset_for_test
|
||||
end
|
||||
end
|
||||
|
||||
Webrat.configure do |config|
|
||||
config.mode = :merb
|
||||
end
|
||||
|
|
|
@ -4,14 +4,6 @@ describe Webrat::Configuration do
|
|||
predicate_matchers[:parse_with_nokogiri] = :parse_with_nokogiri?
|
||||
predicate_matchers[:open_error_files] = :open_error_files?
|
||||
|
||||
before do
|
||||
Webrat.cache_config_for_test
|
||||
end
|
||||
|
||||
after do
|
||||
Webrat.reset_for_test
|
||||
end
|
||||
|
||||
it "should have a mode" do
|
||||
Webrat.configuration.should respond_to(:mode)
|
||||
end
|
||||
|
|
|
@ -87,12 +87,8 @@ describe Webrat::Session do
|
|||
|
||||
describe "#request_page" do
|
||||
before(:each) do
|
||||
Webrat.cache_config_for_test
|
||||
webrat_session = Webrat::Session.new
|
||||
end
|
||||
after(:each) do
|
||||
Webrat.reset_for_test
|
||||
end
|
||||
|
||||
it "should raise an error if the request is not a success" do
|
||||
webrat_session.stub!(:get)
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
||||
|
||||
describe "Webrat::MechanizeSession" do
|
||||
before :all do
|
||||
Webrat.cache_config_for_test
|
||||
require "webrat/mechanize"
|
||||
|
||||
describe Webrat::MechanizeSession do
|
||||
before :each do
|
||||
Webrat.configuration.mode = :mechanize
|
||||
end
|
||||
|
||||
after :all do
|
||||
Webrat.reset_for_test
|
||||
end
|
||||
|
||||
before(:each) do
|
||||
@mech = Webrat::MechanizeSession.new
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
require 'merb-core'
|
||||
require "webrat/merb"
|
|
@ -1,5 +1,4 @@
|
|||
require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
||||
require File.expand_path(File.dirname(__FILE__) + "/helper")
|
||||
|
||||
describe HashWithIndifferentAccess do
|
||||
it "should not update constructor when not a hash" do
|
||||
|
|
|
@ -2,8 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
|||
|
||||
require "webrat/merb"
|
||||
|
||||
describe Webrat::Session do
|
||||
|
||||
describe Webrat::MerbSession do
|
||||
it "should not pass empty params if data is and empty hash" do
|
||||
session = Webrat::MerbSession.new
|
||||
response = OpenStruct.new
|
|
@ -1,7 +1,8 @@
|
|||
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
||||
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
||||
|
||||
describe "attach_file" do
|
||||
before do
|
||||
Webrat.configuration.mode = :rails
|
||||
@filename = __FILE__
|
||||
@uploaded_file = mock("uploaded file")
|
||||
ActionController::TestUploadedFile.stub!(:new => @uploaded_file)
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
||||
require "active_support"
|
||||
|
||||
silence_warnings do
|
||||
require "action_controller"
|
||||
require "action_controller/integration"
|
||||
end
|
||||
|
||||
require "webrat/rails"
|
||||
Webrat.configuration.mode_for_test = :rails
|
|
@ -1,6 +1,12 @@
|
|||
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
||||
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
||||
|
||||
require "webrat/rails"
|
||||
|
||||
describe Webrat::RailsSession do
|
||||
before do
|
||||
Webrat.configuration.mode = :rails
|
||||
end
|
||||
|
||||
it "should delegate response_body to the session response body" do
|
||||
response = mock("response", :body => "<html>")
|
||||
integration_session = mock("integration session", :response => response)
|
||||
|
|
Loading…
Reference in New Issue