aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/initializer/test_helper.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2009-07-08 12:53:13 +0200
committerJosé Valim <jose.valim@gmail.com>2009-07-08 12:53:13 +0200
commitc07746cbdfb7b60d2692c9c4a549e4e1b133865f (patch)
tree392c6e0e368a94e65735e9f3bcf861566132c9fa /railties/test/initializer/test_helper.rb
parentdd7ee082be9e53bbee15144b4c03b42a269b154b (diff)
parent579250ea467ac406a5897dc2187c7959bf343b4f (diff)
downloadrails-c07746cbdfb7b60d2692c9c4a549e4e1b133865f.tar.gz
rails-c07746cbdfb7b60d2692c9c4a549e4e1b133865f.tar.bz2
rails-c07746cbdfb7b60d2692c9c4a549e4e1b133865f.zip
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'railties/test/initializer/test_helper.rb')
-rw-r--r--railties/test/initializer/test_helper.rb48
1 files changed, 36 insertions, 12 deletions
diff --git a/railties/test/initializer/test_helper.rb b/railties/test/initializer/test_helper.rb
index ddb03397ab..9d7dfff1c0 100644
--- a/railties/test/initializer/test_helper.rb
+++ b/railties/test/initializer/test_helper.rb
@@ -1,17 +1,18 @@
-require 'abstract_unit'
-require 'active_support/ruby/shim'
-require 'initializer'
+# 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__), '..', '..', '..'))
-RAILS_ROOT.replace File.join(File.dirname(__FILE__), "root")
+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')
-module Rails
- class << self
- attr_accessor :vendor_rails
- def vendor_rails?() @vendor_rails end
- end
-end
+class Test::Unit::TestCase
+ extend ActiveSupport::Testing::Declarative
-class ActiveSupport::TestCase
def assert_stderr(match)
$stderr = StringIO.new
yield
@@ -21,4 +22,27 @@ class ActiveSupport::TestCase
ensure
$stderr = STDERR
end
-end \ No newline at end of file
+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! \ No newline at end of file