mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
51 lines
No EOL
1.5 KiB
Ruby
51 lines
No EOL
1.5 KiB
Ruby
# This is a test helper file that simulates a rails application being
|
|
# boot from scratch in vendored mode. This file should really only be
|
|
# required in test cases that use the isolation helper so that requires
|
|
# can be reset correctly.
|
|
RAILS_ROOT = File.join(File.dirname(__FILE__), "root")
|
|
RAILS_FRAMEWORK_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..'))
|
|
|
|
require 'rubygems'
|
|
gem 'rack', '~> 1.0.0'
|
|
|
|
require "test/unit"
|
|
# We are purposely avoiding adding things to the load path to catch bugs that only happen in the genuine article
|
|
require File.join(RAILS_FRAMEWORK_ROOT, 'activesupport', 'lib', 'active_support', 'testing', 'isolation')
|
|
require File.join(RAILS_FRAMEWORK_ROOT, 'activesupport', 'lib', 'active_support', 'testing', 'declarative')
|
|
|
|
class Test::Unit::TestCase
|
|
extend ActiveSupport::Testing::Declarative
|
|
|
|
def assert_stderr(match)
|
|
$stderr = StringIO.new
|
|
yield
|
|
$stderr.rewind
|
|
err = $stderr.read
|
|
assert_match match, err
|
|
ensure
|
|
$stderr = STDERR
|
|
end
|
|
end
|
|
|
|
# Fake boot.rb
|
|
module Rails
|
|
class << self
|
|
attr_accessor :vendor_rails
|
|
|
|
def vendor_rails?
|
|
@vendor_rails
|
|
end
|
|
|
|
def boot!
|
|
# Require the initializer
|
|
require File.join(RAILS_FRAMEWORK_ROOT, 'railties', 'lib', 'initializer')
|
|
# Run the initializer the same way boot.rb does it
|
|
Rails::Initializer.run(:install_gem_spec_stubs)
|
|
Rails::GemDependency.add_frozen_gem_path
|
|
Rails::Initializer.run(:set_load_path)
|
|
end
|
|
end
|
|
end
|
|
|
|
# All that for this:
|
|
Rails.boot! |