Sha256: 235a3c963d41a080a187dfbce1a8490add0e99da3f55ea46e4065a30bb032dfd

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

require 'spec_helper'


describe NotificationCenter do
  describe '.post_notification' do
    before { NotificationCenter.flush_cache! }

    it "should fire event handler" do
      EventListener = Class.new { observe :event }
      EventListener.should_receive(:event_handler)
      NotificationCenter.post_notification :event
    end

    it "should not raise any exception when no event" do
      NotificationCenter.post_notification :imaginary_event
    end

    context 'when cache disabled' do
      before { NotificationCenter.enable_cache = false }
      it "should not fire event twice" do
        EventListener = Class.new { observe :event }
        EventListener.should_receive(:event_handler).twice

        NotificationCenter.post_notification :event
        NotificationCenter.post_notification :event
      end
    end

    context 'when cache enabled' do
      before { NotificationCenter.enable_cache = true }

      it "should not fire event twice" do
        EventListener = Class.new { observe :event }
        EventListener.should_receive :event_handler

        NotificationCenter.post_notification :event
        NotificationCenter.post_notification :event
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
notification_center-0.2 spec/lib/notification_center_spec.rb