Ensure calling a method in Rails::Application does not instantiate a void application.

This commit is contained in:
José Valim
2010-01-26 12:14:48 +01:00
parent c5b652f3d2
commit db99324a89
2 changed files with 10 additions and 3 deletions

View File

@@ -16,10 +16,10 @@ module Rails
alias :configure :class_eval
def instance
if instance_of?(Rails::Application)
Rails.application.instance
if self == Rails::Application
Rails.application
else
@instance ||= new
@@instance ||= new
end
end

View File

@@ -19,6 +19,13 @@ module ApplicationTests
FileUtils.rm_rf("#{app_path}/config/environments")
end
test "Rails::Application.instance is nil until app is initialized" do
require 'rails'
assert_nil Rails::Application.instance
require "#{app_path}/config/environment"
assert_equal AppTemplate::Application.instance, Rails::Application.instance
end
test "the application root is set correctly" do
require "#{app_path}/config/environment"
assert_equal Pathname.new(app_path), Rails.application.root