Remove references to RAILS_ROOT from Webrat core
This commit is contained in:
parent
22048b5494
commit
e6aff6d37c
2
Rakefile
2
Rakefile
@ -56,7 +56,7 @@ end
|
|||||||
|
|
||||||
require 'spec/rake/verify_rcov'
|
require 'spec/rake/verify_rcov'
|
||||||
RCov::VerifyTask.new(:verify_rcov => :rcov) do |t|
|
RCov::VerifyTask.new(:verify_rcov => :rcov) do |t|
|
||||||
t.threshold = 97.1 # Make sure you have rcov 0.7 or higher!
|
t.threshold = 96.9 # Make sure you have rcov 0.7 or higher!
|
||||||
end
|
end
|
||||||
|
|
||||||
remove_task "default"
|
remove_task "default"
|
||||||
|
@ -291,7 +291,8 @@ module Webrat
|
|||||||
end
|
end
|
||||||
|
|
||||||
def rewrite_css_and_image_references(response_html) # :nodoc
|
def rewrite_css_and_image_references(response_html) # :nodoc
|
||||||
response_html.gsub(/"\/(stylesheets|images)/, RAILS_ROOT + '/public/\1')
|
return response_html unless session.doc_root
|
||||||
|
response_html.gsub(/"\/(stylesheets|images)/, session.doc_root + '/\1')
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
module Webrat
|
module Webrat
|
||||||
class Session
|
class Session
|
||||||
|
|
||||||
|
def doc_root
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
|
||||||
def saved_page_dir
|
def saved_page_dir
|
||||||
File.expand_path(".")
|
File.expand_path(".")
|
||||||
end
|
end
|
||||||
|
@ -5,6 +5,10 @@ module Webrat
|
|||||||
@integration_session = integration_session
|
@integration_session = integration_session
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def doc_root
|
||||||
|
File.expand_path(File.join(RAILS_ROOT, 'public'))
|
||||||
|
end
|
||||||
|
|
||||||
def saved_page_dir
|
def saved_page_dir
|
||||||
File.expand_path(File.join(RAILS_ROOT, "tmp"))
|
File.expand_path(File.join(RAILS_ROOT, "tmp"))
|
||||||
end
|
end
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
||||||
|
|
||||||
RAILS_ROOT = "." unless defined?(RAILS_ROOT)
|
|
||||||
|
|
||||||
describe "reloads" do
|
describe "reloads" do
|
||||||
before do
|
before do
|
||||||
@session = Webrat::TestSession.new
|
@session = Webrat::TestSession.new
|
||||||
|
@ -1,48 +1,53 @@
|
|||||||
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
||||||
|
|
||||||
RAILS_ROOT = "." unless defined?(RAILS_ROOT)
|
|
||||||
|
|
||||||
describe "save_and_open_page" do
|
describe "save_and_open_page" do
|
||||||
before do
|
before do
|
||||||
@session = Webrat::TestSession.new
|
@session = Webrat::TestSession.new
|
||||||
|
|
||||||
@session.response_body = <<-HTML
|
@session.response_body = <<-HTML
|
||||||
<html><head>
|
<html>
|
||||||
|
<head>
|
||||||
<link href="/stylesheets/foo.css" media="screen" rel="stylesheet" type="text/css" />
|
<link href="/stylesheets/foo.css" media="screen" rel="stylesheet" type="text/css" />
|
||||||
</head><body>
|
</head>
|
||||||
|
<body>
|
||||||
<h1>Hello world</h1>
|
<h1>Hello world</h1>
|
||||||
<img src="/images/bar.png" />
|
<img src="/images/bar.png" />
|
||||||
</body></html>
|
</body>
|
||||||
|
</html>
|
||||||
HTML
|
HTML
|
||||||
|
|
||||||
File.stubs(:exist?).returns(true)
|
File.stubs(:exist?).returns(true)
|
||||||
Time.stubs(:now).returns(1234)
|
Time.stubs(:now).returns(1234)
|
||||||
|
Webrat::Page.any_instance.stubs(:open_in_browser)
|
||||||
|
|
||||||
|
@file_handle = mock()
|
||||||
|
File.stubs(:open).with(filename, 'w').yields(@file_handle)
|
||||||
|
@file_handle.stubs(:write)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should rewrite css rules" do
|
it "should rewrite css rules" do
|
||||||
file_handle = mock()
|
@file_handle.expects(:write).with do |html|
|
||||||
File.expects(:open).with(filename, 'w').yields(file_handle)
|
html =~ %r|#{@session.doc_root}/stylesheets/foo.css|s
|
||||||
file_handle.expects(:write).with{|html| html =~ %r|#{RAILS_ROOT}/public/stylesheets/foo.css|s }
|
end
|
||||||
Webrat::Page.any_instance.stubs(:open_in_browser)
|
|
||||||
@session.save_and_open_page
|
@session.save_and_open_page
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should rewrite image paths" do
|
it "should rewrite image paths" do
|
||||||
file_handle = mock()
|
@file_handle.expects(:write).with do |html|
|
||||||
File.expects(:open).with(filename, 'w').yields(file_handle)
|
html =~ %r|#{@session.doc_root}/images/bar.png|s
|
||||||
file_handle.expects(:write).with{|html| html =~ %r|#{RAILS_ROOT}/public/images/bar.png|s }
|
end
|
||||||
Webrat::Page.any_instance.stubs(:open_in_browser)
|
|
||||||
@session.save_and_open_page
|
@session.save_and_open_page
|
||||||
end
|
end
|
||||||
|
|
||||||
it "should open the temp file in a browser" do
|
it "should open the temp file in a browser" do
|
||||||
File.stubs(:open)
|
|
||||||
Webrat::Page.any_instance.expects(:open_in_browser).with(filename)
|
Webrat::Page.any_instance.expects(:open_in_browser).with(filename)
|
||||||
@session.save_and_open_page
|
@session.save_and_open_page
|
||||||
end
|
end
|
||||||
|
|
||||||
def filename
|
def filename
|
||||||
File.expand_path("./webrat-1234.html")
|
File.expand_path("./webrat-#{Time.now}.html")
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
||||||
|
|
||||||
RAILS_ROOT = "." unless defined?(RAILS_ROOT)
|
|
||||||
|
|
||||||
describe "visits" do
|
describe "visits" do
|
||||||
before do
|
before do
|
||||||
@session = Webrat::TestSession.new
|
@session = Webrat::TestSession.new
|
||||||
|
@ -3,6 +3,10 @@ module Webrat
|
|||||||
attr_accessor :response_body
|
attr_accessor :response_body
|
||||||
attr_writer :response_code
|
attr_writer :response_code
|
||||||
|
|
||||||
|
def doc_root
|
||||||
|
File.expand_path(File.join(".", "public"))
|
||||||
|
end
|
||||||
|
|
||||||
def response_code
|
def response_code
|
||||||
@response_code || 200
|
@response_code || 200
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user