Sha256: 5f1d1bff5f484aa3761cdae8fb4d19b9714df41febf9123e341ba6662c7ce50a

Contents?: true

Size: 1.94 KB

Versions: 13

Compression:

Stored size: 1.94 KB

Contents

# -*- encoding: utf-8 -*-
require 'spec_helper'

module OnStomp::Interfaces
  describe ConnectionEvents do
    let(:client) { mock('client') }
    let(:eventable) {
      mock('eventable', :client => client).tap do |m|
        m.extend ConnectionEvents
      end
    }
  
    describe "connection event methods" do
      it "should provide a 'on_established' event" do
        triggered = false
        eventable.on_established { triggered = true }
        eventable.trigger_connection_event :established
        triggered.should be_true
      end
      it "should provide a 'on_closed' event" do
        triggered = false
        eventable.on_closed { triggered = true }
        eventable.trigger_connection_event :closed
        triggered.should be_true
      end
      it "should provide a 'on_died' event" do
        triggered = false
        eventable.on_died { triggered = true }
        eventable.trigger_connection_event :died
        triggered.should be_true
      end
      it "should provide a 'on_terminated' event" do
        triggered = false
        eventable.on_terminated { triggered = true }
        eventable.trigger_connection_event :terminated
        triggered.should be_true
      end
    end
    
    describe ".install_bindings_from_client" do
      let(:callback1) { mock('callback1') }
      let(:callback2) { mock('callback2') }
      let(:callback3) { mock('callback3') }
      
      it "should bind events from the hash and trigger connected" do
        eventable.stub(:version => 'x.y')
        eventable.should_receive(:bind_event).with(:ev1, callback3)
        eventable.should_receive(:bind_event).with(:ev1, callback2)
        eventable.should_receive(:bind_event).with(:ev2, callback1)
        eventable.should_receive(:trigger_connection_event).
          with(:established, "STOMP x.y connection negotiated")
        eventable.install_bindings_from_client :ev1 => [callback3, callback2], 
          :ev2 => [callback1]
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
onstomp-1.0.12 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.11 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.10 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.9 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.8 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.7 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.6 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.5 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.4 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.3 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.2 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.1 spec/onstomp/interfaces/connection_events_spec.rb
onstomp-1.0.0 spec/onstomp/interfaces/connection_events_spec.rb