diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/plum/hpack/test_decoder.rb | 16 | ||||
-rw-r--r-- | test/plum/hpack/test_encoder.rb | 6 | ||||
-rw-r--r-- | test/plum/test_frame.rb | 5 | ||||
-rw-r--r-- | test/utils/server.rb | 4 |
4 files changed, 17 insertions, 14 deletions
diff --git a/test/plum/hpack/test_decoder.rb b/test/plum/hpack/test_decoder.rb index 9acb821..9a500f7 100644 --- a/test/plum/hpack/test_decoder.rb +++ b/test/plum/hpack/test_decoder.rb @@ -4,38 +4,38 @@ class HPACKDecoderTest < Minitest::Test # C.1.1 def test_hpack_read_integer_small buf = [0b11001010, 0b00001111].pack("C*") - result = new_decoder.__send__(:read_integer!, buf, 5) + result, succ = new_decoder.__send__(:read_integer, buf, 0, 5) assert_equal(10, result) - assert_equal([0b00001111].pack("C*"), buf) + assert_equal(1, succ) end # C.1.2 def test_hpack_read_integer_big buf = [0b11011111, 0b10011010, 0b00001010, 0b00001111].pack("C*") - result = new_decoder.__send__(:read_integer!, buf, 5) + result, succ = new_decoder.__send__(:read_integer, buf, 0, 5) assert_equal(1337, result) - assert_equal([0b00001111].pack("C*"), buf) + assert_equal(3, succ) end # C.1.3 def test_hpack_read_integer_8prefix buf = [0b00101010, 0b00001111].pack("C*") - result = new_decoder.__send__(:read_integer!, buf, 8) + result, succ = new_decoder.__send__(:read_integer, buf, 0, 8) assert_equal(42, result) - assert_equal([0b00001111].pack("C*"), buf) + assert_equal(1, succ) end def test_hpack_read_integer_too_big buf = [0b11011111, 0b10011010, 0b10001010, 0b10001111, 0b11111111, 0b00000011].pack("C*") assert_raises(HPACKError) { - new_decoder.__send__(:read_integer!, buf, 5) + new_decoder.__send__(:read_integer, buf, 0, 5) } end def test_hpack_read_integer_incomplete buf = [0b11011111, 0b10011010].pack("C*") assert_raises(HPACKError) { - new_decoder.__send__(:read_integer!, buf, 5) + new_decoder.__send__(:read_integer, buf, 0, 5) } end diff --git a/test/plum/hpack/test_encoder.rb b/test/plum/hpack/test_encoder.rb index 3c56dfc..a0096ed 100644 --- a/test/plum/hpack/test_encoder.rb +++ b/test/plum/hpack/test_encoder.rb @@ -3,19 +3,19 @@ require "test_helper" class HPACKEncoderTest < Minitest::Test # C.1.1 def test_hpack_encode_integer_small - result = new_encoder(1 << 31).__send__(:encode_integer, 10, 5) + result = new_encoder(1 << 31).__send__(:encode_integer, 10, 5, 0b00000000) assert_equal([0b00001010].pack("C*"), result) end # C.1.2 def test_hpack_encode_integer_big - result = new_encoder(1 << 31).__send__(:encode_integer, 1337, 5) + result = new_encoder(1 << 31).__send__(:encode_integer, 1337, 5, 0b000000) assert_equal([0b00011111, 0b10011010, 0b00001010].pack("C*"), result) end # C.1.3 def test_hpack_encode_integer_8prefix - result = new_encoder(1 << 31).__send__(:encode_integer, 42, 8) + result = new_encoder(1 << 31).__send__(:encode_integer, 42, 8, 0b000000) assert_equal([0b00101010].pack("C*"), result) end diff --git a/test/plum/test_frame.rb b/test/plum/test_frame.rb index 0cd9e7e..4795627 100644 --- a/test/plum/test_frame.rb +++ b/test/plum/test_frame.rb @@ -4,6 +4,7 @@ class FrameTest < Minitest::Test # Frame.parse! def test_parse_header_uncomplete buffer = "\x00\x00\x00" << "\x00" << "\x00" + buffer.force_encoding(Encoding::BINARY) buffer_orig = buffer.dup assert_nil(Plum::Frame.parse!(buffer)) assert_equal(buffer_orig, buffer) @@ -11,6 +12,7 @@ class FrameTest < Minitest::Test def test_parse_body_uncomplete buffer = "\x00\x00\x03" << "\x00" << "\x00" << "\x00\x00\x00\x00" << "ab" + buffer.force_encoding(Encoding::BINARY) buffer_orig = buffer.dup assert_nil(Plum::Frame.parse!(buffer)) assert_equal(buffer_orig, buffer) @@ -18,7 +20,8 @@ class FrameTest < Minitest::Test def test_parse # R 0x1, stream_id 0x4, body "abc" - buffer = "\x00\x00\x03" << "\x00" << "\x09" << "\x80\x00\x00\x04" << "abc" << "next_frame_data" + buffer = "\x00\x00\x03" << "\x00" << "\x09" << "\x00\x00\x00\x04" << "abc" << "next_frame_data" + buffer.force_encoding(Encoding::BINARY) frame = Plum::Frame.parse!(buffer) assert_equal(3, frame.length) assert_equal(:data, frame.type) diff --git a/test/utils/server.rb b/test/utils/server.rb index e3b8386..e0bdae9 100644 --- a/test/utils/server.rb +++ b/test/utils/server.rb @@ -31,7 +31,7 @@ module ServerUtils end def sent_frames(con = nil) - resp = (con || @_con).io.string.dup + resp = (con || @_con).io.string.dup.force_encoding(Encoding::BINARY) frames = [] while f = Frame.parse!(resp) frames << f @@ -43,7 +43,7 @@ module ServerUtils io = (con || @_con).io pos = io.string.bytesize blk.call - resp = io.string.byteslice(pos, io.string.bytesize - pos) + resp = io.string.byteslice(pos, io.string.bytesize - pos).force_encoding(Encoding::BINARY) frames = [] while f = Frame.parse!(resp) frames << f |