1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
# encoding: binary
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'Outgoing frame draft 75' do
subject { frame }
let(:version) { 75 }
let(:frame) { WebSocket::Frame::Outgoing.new(version: version, data: decoded_text, type: frame_type) }
let(:decoded_text) { '' }
let(:encoded_text) { "\x00\xFF" }
let(:frame_type) { :text }
let(:require_sending) { true }
let(:error) { nil }
it_behaves_like 'valid_outgoing_frame'
context 'should properly encode text frame' do
let(:decoded_text) { 'abc' }
let(:encoded_text) { "\x00abc\xFF" }
let(:require_sending) { true }
it_behaves_like 'valid_outgoing_frame'
end
context 'should properly encode close frame' do
let(:frame_type) { :close }
let(:decoded_text) { 'abc' }
let(:encoded_text) { "\xFF\x00" }
let(:require_sending) { true }
it_behaves_like 'valid_outgoing_frame'
end
context 'should return error for unknown frame type' do
let(:frame_type) { :unknown }
let(:decoded_text) { 'Hello' }
let(:encoded_text) { nil }
let(:error) { :unknown_frame_type }
let(:require_sending) { false }
it_behaves_like 'valid_outgoing_frame'
end
end
|