Sha256: cd6f6366f91e3e0cde132382b49996600387d40adf60dcf61b4b7c4d8cfeb5f9

Contents?: true

Size: 1.1 KB

Versions: 65

Compression:

Stored size: 1.1 KB

Contents

## Fake socket used for mock testing ##
#
require 'stringio'

module FSR
  class FakeSocket
    def initialize(remote_host, remote_port)
      @remote_host, @remote_port = remote_host, remote_port

      @input = StringIO.new('')
      @buffer = []
    end

    def hostname
      'localhost'
    end

    def address
      '127.0.0.1'
    end

    def eof?
      @input.eof?
    end
    alias closed? eof?

    def close
    end

    def print(*args)
      @buffer << args.join
    end

    def read(len)
      @input.read(len)
    end

    def fake_input
      @input
    end

    def fake_buffer
      @buffer
    end
  end
end

require 'bacon'
Bacon.summary_at_exit

describe FSR::FakeSocket do
  it 'can be initialized' do
    @socket = FSR::FakeSocket.new('google.com', 80)
    @socket.should.not.be.nil
  end

  it 'can be filled with input which is then read' do
    @socket.fake_input.write('foobar')
    @socket.fake_input.pos = 0
    @socket.read(6).should == 'foobar'
    @socket.read(1).should == nil
  end

  it 'can receive input' do
    @socket.print('foo')
    @socket.fake_buffer.should == ['foo']
  end
end

Version data entries

65 entries across 65 versions & 3 rubygems

Version Path
bougyman-freeswitcher-0.0.9 lib/fsr/fake_socket.rb
bougyman-freeswitcher-0.1.0 lib/fsr/fake_socket.rb
bougyman-freeswitcher-0.1.1 lib/fsr/fake_socket.rb
bougyman-freeswitcher-0.1.2 lib/fsr/fake_socket.rb
bougyman-freeswitcher-0.1.3 lib/fsr/fake_socket.rb
bougyman-freeswitcher-0.1.4 lib/fsr/fake_socket.rb
bougyman-freeswitcher-0.3.0 lib/fsr/fake_socket.rb
bougyman-freeswitcher-0.3.1 lib/fsr/fake_socket.rb
bougyman-freeswitcher-0.4.0 lib/fsr/fake_socket.rb
bougyman-freeswitcher-0.4.1 lib/fsr/fake_socket.rb
bougyman-freeswitcher-0.4.2 lib/fsr/fake_socket.rb
freeswitcher-0.8.0 lib/fsr/fake_socket.rb
freeswitcher-0.7.1 lib/fsr/fake_socket.rb
freeswitcher-0.7.0 lib/fsr/fake_socket.rb
freeswitcher-0.6.18 lib/fsr/fake_socket.rb
freeswitcher-0.6.17 lib/fsr/fake_socket.rb
freeswitcher-0.6.16 lib/fsr/fake_socket.rb
freeswitcher-0.6.15 lib/fsr/fake_socket.rb
freeswitcher-0.6.14 lib/fsr/fake_socket.rb
freeswitcher-0.6.13 lib/fsr/fake_socket.rb