aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--railties/lib/rails/console/app.rb2
-rw-r--r--railties/test/application/console_test.rb32
2 files changed, 30 insertions, 4 deletions
diff --git a/railties/lib/rails/console/app.rb b/railties/lib/rails/console/app.rb
index 7e8fd027e6..4524aca809 100644
--- a/railties/lib/rails/console/app.rb
+++ b/railties/lib/rails/console/app.rb
@@ -26,7 +26,7 @@ end
# reloads the environment
def reload!(print=true)
puts "Reloading..." if print
- ActionDispatch::Callbacks.new(lambda {}, false)
+ ActionDispatch::Callbacks.new(lambda {}, false).call({})
true
end
diff --git a/railties/test/application/console_test.rb b/railties/test/application/console_test.rb
index 22ab60f4a0..8ff69f0208 100644
--- a/railties/test/application/console_test.rb
+++ b/railties/test/application/console_test.rb
@@ -6,7 +6,9 @@ class ConsoleTest < Test::Unit::TestCase
def setup
build_app
boot_rails
+ end
+ def load_environment
# Load steps taken from rails/commands/console.rb
require "#{rails_root}/config/environment"
require 'rails/console/app'
@@ -14,18 +16,21 @@ class ConsoleTest < Test::Unit::TestCase
end
def test_app_method_should_return_integration_session
+ load_environment
console_session = app
assert_not_nil console_session
assert_instance_of ActionController::Integration::Session, console_session
end
def test_new_session_should_return_integration_session
+ load_environment
session = new_session
assert_not_nil session
assert_instance_of ActionController::Integration::Session, session
end
def test_reload_should_fire_preparation_callbacks
+ load_environment
a = b = c = nil
# TODO: These should be defined on the initializer
@@ -34,16 +39,37 @@ class ConsoleTest < Test::Unit::TestCase
ActionDispatch::Callbacks.to_prepare { c = 3 }
# Hide Reloading... output
- silence_stream(STDOUT) do
- reload!
- end
+ silence_stream(STDOUT) { reload! }
assert_equal 1, a
assert_equal 2, b
assert_equal 3, c
end
+ def test_reload_should_reload_constants
+ app_file "app/models/user.rb", <<-MODEL
+ class User
+ attr_accessor :name
+ end
+ MODEL
+
+ load_environment
+ assert User.new.respond_to?(:name)
+ assert !User.new.respond_to?(:age)
+
+ app_file "app/models/user.rb", <<-MODEL
+ class User
+ attr_accessor :name, :age
+ end
+ MODEL
+
+ assert !User.new.respond_to?(:age)
+ silence_stream(STDOUT) { reload! }
+ assert User.new.respond_to?(:age)
+ end
+
def test_access_to_helpers
+ load_environment
assert_not_nil helper
assert_instance_of ActionView::Base, helper
assert_equal 'Once upon a time in a world...',