Sha256: 06005f5727e4aa4e38f00ce047a5c70137bfdeac227f01d1025618442b2bd727

Contents?: true

Size: 1.6 KB

Versions: 27

Compression:

Stored size: 1.6 KB

Contents

# -*- encoding: utf-8 -*-

require 'spec_helper'

describe Stomp::Message do

  context 'when initializing a new message' do

    context 'with invalid parameters' do
      it 'should return an empty message when receiving an empty string or nil parameter' do
        message = Stomp::Message.new('')
        message.should be_empty
      end

      it 'should raise Stomp::Error::InvalidFormat when receiving a invalid formated message' do
        lambda{ Stomp::Message.new('any invalid format') }.should raise_error(Stomp::Error::InvalidFormat)
      end
    end

    context 'with valid parameters' do
      subject do
        @message = ["CONNECTED\n", "session:host_address\n", "\n", "body value\n", "\000\n"]
        Stomp::Message.new(@message.join)
      end

      it 'should parse the headers' do
        subject.headers.should ==  {'session' => 'host_address'}
      end

      it 'should parse the body' do
        subject.body.should == @message[3]
      end

      it 'should parse the command' do
        subject.command.should == @message[0].chomp
      end
    end
    
    context 'with multiple line ends on the body' do
      subject do
        @message = ["CONNECTED\n", "session:host_address\n", "\n", "body\n\n value\n\n\n", "\000\n"]
        Stomp::Message.new(@message.join)
      end

      it 'should parse the headers' do
        subject.headers.should ==  {'session' => 'host_address'}
      end

      it 'should parse the body' do
        subject.body.should == @message[3]
      end

      it 'should parse the command' do
        subject.command.should == @message[0].chomp
      end
    end
  end
end

Version data entries

27 entries across 25 versions & 2 rubygems

Version Path
stomp-1.3.4 spec/message_spec.rb
stomp-1.3.3 spec/message_spec.rb
stomp-1.3.2 spec/message_spec.rb
stomp-1.3.1 spec/message_spec.rb
stomp-1.3.0 spec/message_spec.rb
stomp-1.2.16 spec/message_spec.rb
stomp-1.2.14 spec/message_spec.rb
stomp-1.2.13 spec/message_spec.rb
stomp-1.2.12 spec/message_spec.rb
torquebox-console-0.3.0 vendor/bundle/jruby/1.9/gems/stomp-1.2.8/spec/message_spec.rb
stomp-1.2.11 spec/message_spec.rb
stomp-1.2.10 spec/message_spec.rb
torquebox-console-0.2.5 vendor/bundle/jruby/1.9/gems/stomp-1.2.8/spec/message_spec.rb
torquebox-console-0.2.5 vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/message_spec.rb
stomp-1.2.9 spec/message_spec.rb
torquebox-console-0.2.4 vendor/bundle/jruby/1.9/gems/stomp-1.2.8/spec/message_spec.rb
torquebox-console-0.2.4 vendor/bundle/ruby/1.8/gems/stomp-1.2.8/spec/message_spec.rb
torquebox-console-0.2.3 vendor/bundle/jruby/1.9/gems/stomp-1.2.8/spec/message_spec.rb
stomp-1.2.8 spec/message_spec.rb
stomp-1.2.7 spec/message_spec.rb