diff options
author | José Valim <jose.valim@gmail.com> | 2010-01-26 13:57:11 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-01-26 13:57:11 +0100 |
commit | 1dca7ebc93ebf067a73d23ddc33d97229a0b482f (patch) | |
tree | 6070c9418bf939427b7d1e7f1018dd0ec09ff1e3 /railties/test/application/initializers/notifications_test.rb | |
parent | e6da2f651ffc24e5be3842051df73493d158a6b4 (diff) | |
download | rails-1dca7ebc93ebf067a73d23ddc33d97229a0b482f.tar.gz rails-1dca7ebc93ebf067a73d23ddc33d97229a0b482f.tar.bz2 rails-1dca7ebc93ebf067a73d23ddc33d97229a0b482f.zip |
Refactor railties test, break huge files in smaller chunks and move initializers to application folder.
Diffstat (limited to 'railties/test/application/initializers/notifications_test.rb')
-rw-r--r-- | railties/test/application/initializers/notifications_test.rb | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/railties/test/application/initializers/notifications_test.rb b/railties/test/application/initializers/notifications_test.rb new file mode 100644 index 0000000000..061bb34c19 --- /dev/null +++ b/railties/test/application/initializers/notifications_test.rb @@ -0,0 +1,48 @@ +require "isolation/abstract_unit" + +module ApplicationTests + class MockLogger + def method_missing(*args) + @logged ||= [] + @logged << args.last + end + + def logged + @logged.compact.map { |l| l.to_s.strip } + end + end + + class NotificationsTest < Test::Unit::TestCase + include ActiveSupport::Testing::Isolation + + def setup + build_app + boot_rails + end + + def instrument(*args, &block) + ActiveSupport::Notifications.instrument(*args, &block) + end + + def wait + ActiveSupport::Notifications.notifier.wait + end + + test "rails subscribers are added" do + add_to_config <<-RUBY + config.colorize_logging = false + RUBY + + require "#{app_path}/config/environment" + + ActiveRecord::Base.logger = logger = MockLogger.new + + # Mimic ActiveRecord notifications + instrument "active_record.sql", :name => "SQL", :sql => "SHOW tables" + wait + + assert_equal 1, logger.logged.size + assert_match /SHOW tables/, logger.logged.last + end + end +end |