diff options
author | Carl Lerche <carllerche@mac.com> | 2009-09-29 16:07:29 -0700 |
---|---|---|
committer | Carl Lerche <carllerche@mac.com> | 2009-09-29 16:07:29 -0700 |
commit | 6b086449bebc4ecbd11887c74f0c16c0c38089dc (patch) | |
tree | a586d299fc4f08ba301da36622272b8a6f13633a /railties/test/isolation/abstract_unit.rb | |
parent | 6f6a589d4b564f5db78735ad0c7225c22ced57ac (diff) | |
download | rails-6b086449bebc4ecbd11887c74f0c16c0c38089dc.tar.gz rails-6b086449bebc4ecbd11887c74f0c16c0c38089dc.tar.bz2 rails-6b086449bebc4ecbd11887c74f0c16c0c38089dc.zip |
Fix the broken railties isolation tests
Diffstat (limited to 'railties/test/isolation/abstract_unit.rb')
-rw-r--r-- | railties/test/isolation/abstract_unit.rb | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/railties/test/isolation/abstract_unit.rb b/railties/test/isolation/abstract_unit.rb index d3fc1f3395..bc1b43acaa 100644 --- a/railties/test/isolation/abstract_unit.rb +++ b/railties/test/isolation/abstract_unit.rb @@ -14,10 +14,6 @@ require 'test/unit' # TODO: Remove setting this magic constant RAILS_FRAMEWORK_ROOT = File.expand_path("#{File.dirname(__FILE__)}/../../..") -# These load paths usually get set inside of boot.rb -$:.unshift "#{RAILS_FRAMEWORK_ROOT}/railties/lib" -$:.unshift "#{RAILS_FRAMEWORK_ROOT}/actionpack/lib" - # These files do not require any others and are needed # to run the tests require "#{RAILS_FRAMEWORK_ROOT}/activesupport/lib/active_support/testing/isolation" @@ -71,8 +67,23 @@ module TestHelpers end module Generation - def build_app + def build_app(options = {}) + FileUtils.rm_rf(app_path) FileUtils.cp_r(tmp_path('app_template'), app_path) + + # Delete the initializers unless requested + unless options[:initializers] + Dir["#{app_path}/config/initializers/*.rb"].each do |initializer| + File.delete(initializer) + end + end + + environment = File.read("#{app_path}/config/environment.rb") + if environment =~ /(\n\s*end\s*)\Z/ + File.open("#{app_path}/config/environment.rb", 'w') do |f| + f.puts $` + %'\nconfig.action_controller.session = { :key => "_myapp_session", :secret => "bac838a849c1d5c4de2e6a50af826079" }\n' + $1 + end + end end def app_file(path, contents) @@ -84,6 +95,23 @@ module TestHelpers def controller(name, contents) app_file("app/controllers/#{name}_controller.rb", contents) end + + def boot_rails + # return if defined?(RAILS) + # TODO: Get this working with boot.rb + $:.unshift "#{RAILS_FRAMEWORK_ROOT}/railties/lib" + Object.class_eval <<-RUBY + RAILS_ROOT = "#{app_path}" + module ::Rails + def self.vendor_rails? + true + end + end + RUBY + require "rails" + Rails::Initializer.run(:install_gem_spec_stubs) + Rails::GemDependency.add_frozen_gem_path + end end end |