Sha256: 29790afd0e2f83a181b40edf1c756b49996b1ee2f2bcc84e6b9aff7386f09cef

Contents?: true

Size: 1013 Bytes

Versions: 7

Compression:

Stored size: 1013 Bytes

Contents

require 'spec_helper'
require 'browser/location'
require 'browser/socket'

describe Browser::Socket do
  # FIXME: find out why it doesn't work inline
  ws = "ws://#{$window.location.host}/socket"

  it 'creates a socket' do
    promise = Browser::Promise.new
    Browser::Socket.new ws do |s|
      s.on :open do |e|
        expect(e.target).to be_a(Browser::Socket)
        promise.resolve
      end
    end
    promise.for_rspec
  end

  it 'receives messages' do
    promise = Browser::Promise.new
    Browser::Socket.new ws do |s|
      s.on :message do |e|
        expect(e.data).to eq('lol')
        promise.resolve
      end
    end
    promise.for_rspec
  end

  it 'sends messages' do
    promise = Browser::Promise.new
    Browser::Socket.new ws do |s|
      s.on :message do |e|
        e.off

        s.print 'omg'

        s.on :message do |e|
          expect(e.data).to eq('omg')
          promise.resolve
        end
      end
    end
    promise.for_rspec
  end
end if Browser::Socket.supported?

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
opal-browser-0.3.5 spec/socket_spec.rb
opal-browser-0.3.4 spec/socket_spec.rb
atome-opal-browser-0.3.9.5 spec/socket_spec.rb
opal-browser-0.3.3 spec/socket_spec.rb
opal-browser-0.3.2 spec/socket_spec.rb
opal-browser-0.3.1 spec/socket_spec.rb
opal-browser-0.3.0 spec/socket_spec.rb