Sha256: 4d4ea7e85b566dc9d3f41845beb713c5d689221490a3599c997123e6c123c1a7

Contents?: true

Size: 1.71 KB

Versions: 6

Compression:

Stored size: 1.71 KB

Contents

require 'timeout'
shared_examples_for 'all drafts' do
  it "should accept incoming connection" do
    conn = new_server_connection
    conn.write(handshake_request)
    timeout(1) { conn.read(handshake_response.length).should eql(handshake_response) }
  end
  it "should call 'on_open' on new connection" do
    TestApp.any_instance.expects(:on_open)
    conn = new_server_connection
    conn.write(handshake_request)
  end
  it "should call 'on_open' on new connection with proper env" do
    TestApp.any_instance.expects(:on_open).once.with { |env| env.class == Hash && !env.keys.empty? }
    conn = new_server_connection
    conn.write(handshake_request)
  end
  it "should call 'on_close' on connection close" do
    TestApp.any_instance.expects(:on_close)
    conn = new_server_connection
    conn.write(handshake_request)
    conn.close
  end
  it "should call 'on_close' on connection close with proper env" do
    TestApp.any_instance.expects(:on_close).once.with { |env| env.class == Hash && !env.keys.empty? }
    conn = new_server_connection
    conn.write(handshake_request)
    conn.close
  end
  it "should call 'on_message' on connection sending data" do
    TestApp.any_instance.expects(:on_message)
    conn = new_server_connection
    conn.write(handshake_request)
    timeout(1) { conn.read(handshake_response.length) }
    conn.write(message)
  end
  it "should call 'on_message' on connection sending data with proper env and message" do
    TestApp.any_instance.expects(:on_message).once.with { |env, message| env.class == Hash && !env.keys.empty? && message == 'Hello' }
    conn = new_server_connection
    conn.write(handshake_request)
    timeout(1) { conn.read(handshake_response.length) }
    conn.write(message)
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
websocket-rack-noodles-0.4.3 spec/support/all_drafts.rb
websocket-rack-noodles-0.4.2 spec/support/all_drafts.rb
websocket-rack-noodles-0.4.1 spec/support/all_drafts.rb
websocket-rack-noodles-0.4.0 spec/support/all_drafts.rb
websocket-rack-0.4.0 spec/support/all_drafts.rb
websocket-rack-0.3.3 spec/support/all_drafts.rb