aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/plum/hpack/test_decoder.rb16
-rw-r--r--test/plum/hpack/test_encoder.rb6
-rw-r--r--test/plum/test_frame.rb5
-rw-r--r--test/utils/server.rb4
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