aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/initializer
diff options
context:
space:
mode:
Diffstat (limited to 'railties/test/initializer')
-rw-r--r--railties/test/initializer/check_ruby_version_test.rb7
-rw-r--r--railties/test/initializer/install_gem_spec_stubs_test.rb86
-rw-r--r--railties/test/initializer/path_test.rb32
3 files changed, 21 insertions, 104 deletions
diff --git a/railties/test/initializer/check_ruby_version_test.rb b/railties/test/initializer/check_ruby_version_test.rb
index 68feba058e..1852fea4df 100644
--- a/railties/test/initializer/check_ruby_version_test.rb
+++ b/railties/test/initializer/check_ruby_version_test.rb
@@ -1,9 +1,14 @@
-require "initializer/test_helper"
+require "isolation/abstract_unit"
module InitializerTests
class PathsTest < Test::Unit::TestCase
include ActiveSupport::Testing::Isolation
+ def setup
+ build_app
+ boot_rails
+ end
+
test "rails does not initialize with ruby version 1.8.1" do
assert_rails_does_not_boot "1.8.1"
end
diff --git a/railties/test/initializer/install_gem_spec_stubs_test.rb b/railties/test/initializer/install_gem_spec_stubs_test.rb
deleted file mode 100644
index cfb12d7405..0000000000
--- a/railties/test/initializer/install_gem_spec_stubs_test.rb
+++ /dev/null
@@ -1,86 +0,0 @@
-require "initializer/test_helper"
-
-module InitializerTests
- class GemSpecStubsTest < Test::Unit::TestCase
- include ActiveSupport::Testing::Isolation
-
- def setup
- $stderr = StringIO.new
- end
-
- test "user has an old boot.rb (defined by having no Rails.vendor_rails?)" do
- class << Rails
- undef vendor_rails?
- end
-
- assert_stderr(/outdated/) do
- assert_raises(SystemExit) do
- Rails::Initializer.run { |c| c.frameworks = [] }
- end
- end
- end
-
- test "requires rubygems" do
- Kernel.module_eval do
- alias old_require require
- def require(name)
- $rubygems_required = true if name == "rubygems"
- old_require(name)
- end
- end
-
- Rails.vendor_rails = true
- Rails::Initializer.run { |c| c.frameworks = [] }
- assert $rubygems_required
- end
-
- # Pending until we're further along
- # test "does not fail if rubygems does not exist" do
- # Kernel.module_eval do
- # alias old_require require
- # def require(name)
- # raise LoadError if name == "rubygems"
- # old_require(name)
- # end
- # end
- #
- # assert_nothing_raised do
- # Rails::Initializer.run { |c| c.frameworks = [] }
- # end
- # end
-
- test "adds fake Rubygems stubs if a framework is not loaded in Rubygems and we've vendored" do
- Rails.vendor_rails = true
-
- Rails::Initializer.run { |c| c.frameworks = [] }
-
- %w(rails activesupport activerecord actionpack actionmailer activeresource).each do |stub|
- gem_spec = Gem.loaded_specs[stub]
- assert_equal Gem::Version.new(Rails::VERSION::STRING), gem_spec.version
- assert_equal stub, gem_spec.name
- assert_equal "", gem_spec.loaded_from
- end
- end
-
- test "doesn't replace gem specs that are already loaded" do
- Rails.vendor_rails = true
-
- Gem.loaded_specs["rails"] = Gem::Specification.new do |s|
- s.name = "rails"
- s.version = Rails::VERSION::STRING
- s.loaded_from = "/foo/bar/baz"
- end
-
- Rails::Initializer.run { |c| c.frameworks = [] }
-
- assert_equal "/foo/bar/baz", Gem.loaded_specs["rails"].loaded_from
-
- %w(activesupport activerecord actionpack actionmailer activeresource).each do |stub|
- gem_spec = Gem.loaded_specs[stub]
- assert_equal Gem::Version.new(Rails::VERSION::STRING), gem_spec.version
- assert_equal stub, gem_spec.name
- assert_equal "", gem_spec.loaded_from
- end
- end
- end
-end \ No newline at end of file
diff --git a/railties/test/initializer/path_test.rb b/railties/test/initializer/path_test.rb
index f3d70ad4ca..a4264bc31c 100644
--- a/railties/test/initializer/path_test.rb
+++ b/railties/test/initializer/path_test.rb
@@ -1,29 +1,36 @@
-require "initializer/test_helper"
+require "isolation/abstract_unit"
class PathsTest < Test::Unit::TestCase
include ActiveSupport::Testing::Isolation
- def self.setup
+ def setup
+ build_app
+ boot_rails
Rails::Initializer.run do |config|
config.frameworks = [:action_controller, :action_view, :action_mailer, :active_record]
config.after_initialize do
ActionController::Base.session_store = nil
end
end
- end
-
- def setup
@paths = Rails::Initializer.default.config.paths
end
def root(*path)
- File.expand_path(File.join(File.dirname(__FILE__), "root", *path))
+ app_path(*path).to_s
end
def assert_path(paths, *dir)
assert_equal [root(*dir)], paths.paths
end
+ def assert_in_load_path(*path)
+ assert $:.any? { |p| File.expand_path(p) == root(*path) }, "Load path does not include '#{root(*path)}'. They are:\n-----\n #{$:.join("\n")}\n-----"
+ end
+
+ def assert_not_in_load_path(*path)
+ assert !$:.any? { |p| File.expand_path(p) == root(*path) }, "Load path includes '#{root(*path)}'. They are:\n-----\n #{$:.join("\n")}\n-----"
+ end
+
test "booting up Rails yields a valid paths object" do
assert_path @paths.app, "app"
assert_path @paths.app.metals, "app", "metal"
@@ -39,8 +46,7 @@ class PathsTest < Test::Unit::TestCase
assert_path @paths.config.locales, "config", "locales"
assert_path @paths.config.environments, "config", "environments"
- assert_equal Pathname.new(File.dirname(__FILE__)).join("root", "app", "controllers").expand_path,
- Pathname.new(@paths.app.controllers.to_a.first).expand_path
+ assert_equal root("app", "controllers"), @paths.app.controllers.to_a.first
assert_equal Pathname.new(File.dirname(__FILE__)).join("..", "..", "builtin", "rails_info").expand_path,
Pathname.new(@paths.app.controllers.to_a[1]).expand_path
end
@@ -56,24 +62,16 @@ class PathsTest < Test::Unit::TestCase
assert_equal "#{RAILS_ENV}.rb", @paths.config.environments.glob
end
- def assert_in_load_path(*path)
- assert $:.any? { |p| File.expand_path(p) == root(*path) }, "Load path does not include '#{root(*path)}'. They are:\n-----\n #{$:.join("\n")}\n-----"
- end
-
- def assert_not_in_load_path(*path)
- assert !$:.any? { |p| File.expand_path(p) == root(*path) }, "Load path includes '#{root(*path)}'. They are:\n-----\n #{$:.join("\n")}\n-----"
- end
-
test "load path includes each of the paths in config.paths as long as the directories exist" do
assert_in_load_path "app"
assert_in_load_path "app", "controllers"
- assert_in_load_path "app", "metal"
assert_in_load_path "app", "models"
assert_in_load_path "app", "helpers"
assert_in_load_path "lib"
assert_in_load_path "vendor"
assert_not_in_load_path "app", "views"
+ assert_not_in_load_path "app", "metal"
assert_not_in_load_path "app", "services"
assert_not_in_load_path "config"
assert_not_in_load_path "config", "locales"