aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/application/configuration_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/test/application/configuration_test.rb')
-rw-r--r--railties/test/application/configuration_test.rb48
1 files changed, 48 insertions, 0 deletions
diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb
new file mode 100644
index 0000000000..a3e1916494
--- /dev/null
+++ b/railties/test/application/configuration_test.rb
@@ -0,0 +1,48 @@
+require "isolation/abstract_unit"
+
+module ApplicationTests
+ class InitializerTest < Test::Unit::TestCase
+ include ActiveSupport::Testing::Isolation
+
+ def setup
+ build_app
+ boot_rails
+ end
+
+ test "the application root is set correctly" do
+ require "#{app_path}/config/environment"
+ assert_equal Pathname.new(app_path), Rails.application.root
+ end
+
+ test "the application root can be set" do
+ FileUtils.mkdir_p("#{app_path}/hello")
+ add_to_config <<-RUBY
+ config.frameworks = []
+ config.root = '#{app_path}/hello'
+ RUBY
+ require "#{app_path}/config/environment"
+ assert_equal Pathname.new("#{app_path}/hello"), Rails.application.root
+ end
+
+ test "the application root is detected as where config.ru is located" do
+ add_to_config <<-RUBY
+ config.frameworks = []
+ RUBY
+ FileUtils.mv "#{app_path}/config.ru", "#{app_path}/config/config.ru"
+ require "#{app_path}/config/environment"
+ assert_equal Pathname.new("#{app_path}/config"), Rails.application.root
+ end
+
+ test "the application root is Dir.pwd if there is no config.ru" do
+ File.delete("#{app_path}/config.ru")
+ add_to_config <<-RUBY
+ config.frameworks = []
+ RUBY
+
+ Dir.chdir("#{app_path}/app") do
+ require "#{app_path}/config/environment"
+ assert_equal Pathname.new("#{app_path}/app"), Rails.application.root
+ end
+ end
+ end
+end \ No newline at end of file