class ActiveSupport::Notifications::EventedTest

Public Instance Methods

test_evented_listener() click to toggle source
# File activesupport/test/notifications/evented_notification_test.rb, line 30
def test_evented_listener
  notifier = Fanout.new
  listener = Listener.new
  notifier.subscribe "hi", listener
  notifier.start  "hi", 1, {}
  notifier.start  "hi", 2, {}
  notifier.finish "hi", 2, {}
  notifier.finish "hi", 1, {}

  assert_equal 4, listener.events.length
  assert_equal [
    [:start, "hi", 1, {}],
    [:start, "hi", 2, {}],
    [:finish, "hi", 2, {}],
    [:finish, "hi", 1, {}],
  ], listener.events
end
test_evented_listener_no_events() click to toggle source
# File activesupport/test/notifications/evented_notification_test.rb, line 48
def test_evented_listener_no_events
  notifier = Fanout.new
  listener = Listener.new
  notifier.subscribe "hi", listener
  notifier.start  "world", 1, {}
  assert_equal 0, listener.events.length
end
test_evented_listener_priority() click to toggle source
# File activesupport/test/notifications/evented_notification_test.rb, line 74
def test_evented_listener_priority
  notifier = Fanout.new
  listener = ListenerWithTimedSupport.new
  notifier.subscribe "hi", listener

  notifier.start "hi", 1, {}
  notifier.finish "hi", 1, {}

  assert_equal [
    [:start, "hi", 1, {}],
    [:finish, "hi", 1, {}]
  ], listener.events
end
test_listen_to_everything() click to toggle source
# File activesupport/test/notifications/evented_notification_test.rb, line 56
def test_listen_to_everything
  notifier = Fanout.new
  listener = Listener.new
  notifier.subscribe nil, listener
  notifier.start  "hello", 1, {}
  notifier.start  "world", 1, {}
  notifier.finish  "world", 1, {}
  notifier.finish  "hello", 1, {}

  assert_equal 4, listener.events.length
  assert_equal [
    [:start,  "hello", 1, {}],
    [:start,  "world", 1, {}],
    [:finish,  "world", 1, {}],
    [:finish,  "hello", 1, {}],
  ], listener.events
end