aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/application/notifications_test.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2009-11-02 23:46:00 -0200
committerJosé Valim <jose.valim@gmail.com>2009-11-02 23:46:00 -0200
commitd002826e54415a340e55fdbf363d005faebf8fc5 (patch)
tree431146dfb0b15c4507fd49bb7d6f18bd40ccf839 /railties/test/application/notifications_test.rb
parent9ba83cce0318fa5051764f4a16c286adf30169e2 (diff)
parent14370e1aab6ddfb5b86cf50bd7e5abcebae0684c (diff)
downloadrails-d002826e54415a340e55fdbf363d005faebf8fc5.tar.gz
rails-d002826e54415a340e55fdbf363d005faebf8fc5.tar.bz2
rails-d002826e54415a340e55fdbf363d005faebf8fc5.zip
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'railties/test/application/notifications_test.rb')
-rw-r--r--railties/test/application/notifications_test.rb46
1 files changed, 46 insertions, 0 deletions
diff --git a/railties/test/application/notifications_test.rb b/railties/test/application/notifications_test.rb
new file mode 100644
index 0000000000..62ed4f4ad4
--- /dev/null
+++ b/railties/test/application/notifications_test.rb
@@ -0,0 +1,46 @@
+require "isolation/abstract_unit"
+
+module ApplicationTests
+ class NotificationsTest < Test::Unit::TestCase
+ include ActiveSupport::Testing::Isolation
+
+ class MyQueue
+ attr_reader :events, :subscribers
+
+ def initialize
+ @events = []
+ @subscribers = []
+ end
+
+ def publish(name, *args)
+ @events << name
+ end
+
+ def subscribe(pattern=nil, &block)
+ @subscribers << pattern
+ end
+ end
+
+ def setup
+ build_app
+ boot_rails
+ require "rails"
+ require "active_support/notifications"
+ Rails::Initializer.run do |c|
+ c.notifications.queue = MyQueue.new
+ c.notifications.subscribe(/listening/) do
+ puts "Cool"
+ end
+ end
+ end
+
+ test "new queue is set" do
+ ActiveSupport::Notifications.instrument(:foo)
+ assert_equal :foo, ActiveSupport::Notifications.queue.events.first
+ end
+
+ test "configuration subscribers are loaded" do
+ assert_equal 1, ActiveSupport::Notifications.queue.subscribers.count { |s| s == /listening/ }
+ end
+ end
+end