diff options
| author | José Valim <jose.valim@gmail.com> | 2009-11-02 23:46:00 -0200 |
|---|---|---|
| committer | José Valim <jose.valim@gmail.com> | 2009-11-02 23:46:00 -0200 |
| commit | d002826e54415a340e55fdbf363d005faebf8fc5 (patch) | |
| tree | 431146dfb0b15c4507fd49bb7d6f18bd40ccf839 /railties/test/application/notifications_test.rb | |
| parent | 9ba83cce0318fa5051764f4a16c286adf30169e2 (diff) | |
| parent | 14370e1aab6ddfb5b86cf50bd7e5abcebae0684c (diff) | |
| download | rails-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.rb | 46 |
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 |
