mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Ensure calling a method in Rails::Application does not instantiate a void application.
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user