diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2015-08-09 22:08:25 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2015-08-09 22:08:25 +0900 |
commit | 1bb4b371509127fdfe3c59a906e2156b51054ae1 (patch) | |
tree | 52068b98ebdb1a6bbfb4d4b1285fdb32649dbfa1 /test/plum/test_frame_factory.rb | |
parent | fbc724881092a1391576d020b13ba3ed75b419de (diff) | |
download | plum-1bb4b371509127fdfe3c59a906e2156b51054ae1.tar.gz |
frame_factory: add tests
Diffstat (limited to 'test/plum/test_frame_factory.rb')
-rw-r--r-- | test/plum/test_frame_factory.rb | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test/plum/test_frame_factory.rb b/test/plum/test_frame_factory.rb new file mode 100644 index 0000000..2c7f2de --- /dev/null +++ b/test/plum/test_frame_factory.rb @@ -0,0 +1,56 @@ +require "test_helper" + +using Plum::BinaryString +class FrameFactoryTest < Minitest::Test + def test_rst_stream + frame = Frame.rst_stream(123, :stream_closed) + assert_frame(frame, + type: :rst_stream, + stream_id: 123) + assert_equal(ERROR_CODES[:stream_closed], frame.payload.uint32) + end + + def test_goaway + frame = Frame.goaway(0x55, :stream_closed, "debug") + assert_frame(frame, + type: :goaway, + stream_id: 0, + payload: "\x00\x00\x00\x55\x00\x00\x00\x05debug") + end + + def test_settings + frame = Frame.settings(header_table_size: 0x1010) + assert_frame(frame, + type: :settings, + stream_id: 0, + flags: [], + payload: "\x00\x01\x00\x00\x10\x10") + end + + def test_settings_ack + frame = Frame.settings(:ack) + assert_frame(frame, + type: :settings, + stream_id: 0, + flags: [:ack], + payload: "") + end + + def test_ping + frame = Frame.ping("12345678") + assert_frame(frame, + type: :ping, + stream_id: 0, + flags: [], + payload: "12345678") + end + + def test_ping_ack + frame = Frame.ping(:ack, "12345678") + assert_frame(frame, + type: :ping, + stream_id: 0, + flags: [:ack], + payload: "12345678") + end +end |