From 209ab7e05b148b02a2f9598a809eb10588c92259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Wed, 28 Apr 2010 23:42:55 +0200 Subject: Fix failing test. --- .../test/application/model_initialization_test.rb | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 railties/test/application/model_initialization_test.rb (limited to 'railties/test/application') diff --git a/railties/test/application/model_initialization_test.rb b/railties/test/application/model_initialization_test.rb new file mode 100644 index 0000000000..6a22f8d8df --- /dev/null +++ b/railties/test/application/model_initialization_test.rb @@ -0,0 +1,33 @@ +require 'isolation/abstract_unit' + +class PostTest < Test::Unit::TestCase + include ActiveSupport::Testing::Isolation + + def setup + build_app + boot_rails + end + + def test_reload_should_reload_constants + app_file "app/models/post.rb", <<-MODEL + class Post < ActiveRecord::Base + validates_acceptance_of :title, :accept => "omg" + end + MODEL + + require "#{rails_root}/config/environment" + ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:") + ActiveRecord::Migration.verbose = false + ActiveRecord::Schema.define(:version => 1) do + create_table :posts do |t| + t.string :title + end + end + + p = Post.create(:title => 'omg') + assert_equal 1, Post.count + assert_equal 'omg', p.title + p = Post.first + assert_equal 'omg', p.title + end +end -- cgit v1.2.3 From 1b816d502444ce2b3153d8c689d0057f1c257eee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Thu, 29 Apr 2010 08:39:44 +0200 Subject: The rake task :environment now loads config/environment.rb instead of initializing the application on its own. This fixes [#4492 state:resolved] and also avoids the application being initialized twice in some rake tasks. --- railties/test/application/middleware_test.rb | 1 + railties/test/application/paths_test.rb | 5 +++-- railties/test/application/rake_test.rb | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) (limited to 'railties/test/application') diff --git a/railties/test/application/middleware_test.rb b/railties/test/application/middleware_test.rb index 27374dcb28..e9cddcc65a 100644 --- a/railties/test/application/middleware_test.rb +++ b/railties/test/application/middleware_test.rb @@ -20,6 +20,7 @@ module ApplicationTests assert_equal [ "ActionDispatch::Static", "Rack::Lock", + "ActiveSupport::Cache::Strategy::LocalCache", "Rack::Runtime", "Rails::Rack::Logger", "ActionDispatch::ShowExceptions", diff --git a/railties/test/application/paths_test.rb b/railties/test/application/paths_test.rb index 5ab558c026..978d677efc 100644 --- a/railties/test/application/paths_test.rb +++ b/railties/test/application/paths_test.rb @@ -48,7 +48,8 @@ module ApplicationTests assert_path @paths.tmp.cache, "tmp", "cache" assert_path @paths.config, "config" assert_path @paths.config.locales, "config", "locales", "en.yml" - assert_path @paths.config.environment, "config", "environments", "development.rb" + assert_path @paths.config.environment, "config", "environment.rb" + assert_path @paths.config.environments, "config", "environments", "development.rb" assert_equal root("app", "controllers"), @paths.app.controllers.to_a.first end @@ -61,7 +62,7 @@ module ApplicationTests end test "environments has a glob equal to the current environment" do - assert_equal "#{Rails.env}.rb", @paths.config.environment.glob + assert_equal "#{Rails.env}.rb", @paths.config.environments.glob end test "load path includes each of the paths in config.paths as long as the directories exist" do diff --git a/railties/test/application/rake_test.rb b/railties/test/application/rake_test.rb index bf2da866f4..6b7a471494 100644 --- a/railties/test/application/rake_test.rb +++ b/railties/test/application/rake_test.rb @@ -19,5 +19,19 @@ module ApplicationTests ::Rails.application.load_tasks assert $task_loaded end + + def test_environment_is_required_in_rake_tasks + app_file "config/environment.rb", <<-RUBY + SuperMiddleware = Struct.new(:app) + + Rails::Application.configure do + config.middleware.use SuperMiddleware + end + + Rails::Application.initialize! + RUBY + + assert_match "SuperMiddleware", Dir.chdir(app_path){ `rake middleware` } + end end end \ No newline at end of file -- cgit v1.2.3 From 3dfcb56e4585c8530be6dcc5129ae0c4d16c0dea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Thu, 29 Apr 2010 13:24:24 +0200 Subject: ActiveRecord middlewares should be inserted before AD::Cascade [#4493 state:resolved]. --- railties/test/application/middleware_test.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'railties/test/application') diff --git a/railties/test/application/middleware_test.rb b/railties/test/application/middleware_test.rb index e9cddcc65a..d08f04bddb 100644 --- a/railties/test/application/middleware_test.rb +++ b/railties/test/application/middleware_test.rb @@ -27,14 +27,14 @@ module ApplicationTests "ActionDispatch::RemoteIp", "Rack::Sendfile", "ActionDispatch::Callbacks", + "ActiveRecord::ConnectionAdapters::ConnectionManagement", + "ActiveRecord::QueryCache", "ActionDispatch::Cookies", "ActionDispatch::Session::CookieStore", "ActionDispatch::Flash", "ActionDispatch::ParamsParser", "Rack::MethodOverride", - "ActionDispatch::Head", - "ActiveRecord::ConnectionAdapters::ConnectionManagement", - "ActiveRecord::QueryCache" + "ActionDispatch::Head" ], middleware end -- cgit v1.2.3