diff options
author | José Valim <jose.valim@gmail.com> | 2009-12-26 20:28:53 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2009-12-26 20:28:53 +0100 |
commit | 75ba102a80965b2612df0253d1278581a88b8d66 (patch) | |
tree | 435658d7914821be2e745bf3468139cf6a753a07 /actionpack/test/abstract_unit.rb | |
parent | 8a36e907d2a0a28be1fa8334221cc2e195d75168 (diff) | |
download | rails-75ba102a80965b2612df0253d1278581a88b8d66.tar.gz rails-75ba102a80965b2612df0253d1278581a88b8d66.tar.bz2 rails-75ba102a80965b2612df0253d1278581a88b8d66.zip |
Remove ActionView inline logging to ActiveSupport::Notifications and create ActionController::Base#log_event, so everything can be logged within one listener. Also expose log_process_action as a hook for different modules to include their own information during the action processing. This allow ActiveRecord to hook and any other ORM. Finally, this commit changes 'Processing' and 'Rendering' in logs to 'Processed' and 'Rendered' because at the point it's logged, everying already happened.
Diffstat (limited to 'actionpack/test/abstract_unit.rb')
-rw-r--r-- | actionpack/test/abstract_unit.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/actionpack/test/abstract_unit.rb b/actionpack/test/abstract_unit.rb index a9341b60df..8c65087898 100644 --- a/actionpack/test/abstract_unit.rb +++ b/actionpack/test/abstract_unit.rb @@ -50,6 +50,14 @@ ORIGINAL_LOCALES = I18n.available_locales.map {|locale| locale.to_s }.sort FIXTURE_LOAD_PATH = File.join(File.dirname(__FILE__), 'fixtures') FIXTURES = Pathname.new(FIXTURE_LOAD_PATH) +# Turn on notifications +require 'active_support/notifications' +Thread.abort_on_exception = true + +ActiveSupport::Notifications.subscribe do |*args| + ActionController::Base.log_event(*args) if ActionController::Base.logger +end + module SetupOnce extend ActiveSupport::Concern @@ -87,6 +95,21 @@ class ActiveSupport::TestCase end end +class MockLogger + attr_reader :logged + attr_accessor :level + + def initialize + @level = Logger::DEBUG + @logged = [] + end + + def method_missing(method, *args, &blk) + @logged << args.first + @logged << blk.call if block_given? + end +end + class ActionController::IntegrationTest < ActiveSupport::TestCase def self.build_app(routes = nil) ActionDispatch::MiddlewareStack.new { |middleware| |