diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2015-11-10 20:19:20 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2015-11-10 20:19:20 +0900 |
commit | 88763b7f38b97ffe0377c5b0699938326ced61c2 (patch) | |
tree | 854149ad8fb666f110f351fa3246abbb488382f2 /test | |
parent | 0dea10636e87686119a0aed72bca7564a50cb9f9 (diff) | |
download | plum-88763b7f38b97ffe0377c5b0699938326ced61c2.tar.gz |
client: add auto_decode option: decode automatically deflate or gzip encoded response
Diffstat (limited to 'test')
-rw-r--r-- | test/plum/client/test_decoders.rb | 54 | ||||
-rw-r--r-- | test/plum/client/test_response.rb | 5 |
2 files changed, 59 insertions, 0 deletions
diff --git a/test/plum/client/test_decoders.rb b/test/plum/client/test_decoders.rb new file mode 100644 index 0000000..dfd67b1 --- /dev/null +++ b/test/plum/client/test_decoders.rb @@ -0,0 +1,54 @@ +require "test_helper" + +using Plum::BinaryString +class DecodersTest < Minitest::Test + def test_base_decode + decoder = Decoders::Base.new + assert_equal("abc", decoder.decode("abc")) + end + + def test_base_finish + decoder = Decoders::Base.new + decoder.finish + end + + def test_deflate_decode + decoder = Decoders::Deflate.new + assert_equal("hello", decoder.decode("\x78\x9c\xcb\x48\xcd\xc9\xc9\x07\x00\x06\x2c\x02\x15")) + end + + def test_deflate_decode_error + decoder = Decoders::Deflate.new + assert_raises(DecoderError) { + decoder.decode("\x79\x9c\xcb\x48\xcd\xc9\xc9\x07\x00\x06\x2c\x02\x15") + } + end + + def test_deflate_finish_error + decoder = Decoders::Deflate.new + decoder.decode("\x78\x9c\xcb\x48\xcd\xc9\xc9\x07\x00\x06\x2c\x02") + assert_raises(DecoderError) { + decoder.finish + } + end + + def test_gzip_decode + decoder = Decoders::GZip.new + assert_equal("hello", decoder.decode("\x1f\x8b\x08\x00\x1a\x96\xe0\x4c\x00\x03\xcb\x48\xcd\xc9\xc9\x07\x00\x86\xa6\x10\x36\x05\x00\x00\x00")) + end + + def test_gzip_decode_error + decoder = Decoders::GZip.new + assert_raises(DecoderError) { + decoder.decode("\x2f\x8b\x08\x00\x1a\x96\xe0\x4c\x00\x03\xcb\x48\xcd\xc9\xc9\x07\x00\x86\xa6\x10\x36\x05\x00\x00\x00") + } + end + + def test_gzip_finish_error + decoder = Decoders::GZip.new + decoder.decode("\x1f\x8b\x08\x00\x1a\x96") + assert_raises(DecoderError) { + decoder.finish + } + end +end diff --git a/test/plum/client/test_response.rb b/test/plum/client/test_response.rb index 76d9037..511a073 100644 --- a/test/plum/client/test_response.rb +++ b/test/plum/client/test_response.rb @@ -4,6 +4,7 @@ using Plum::BinaryString class ResponseTest < Minitest::Test def test_finished resp = Response.new + resp._headers({}) assert_equal(false, resp.finished?) resp._finish assert_equal(true, resp.finished?) @@ -34,6 +35,7 @@ class ResponseTest < Minitest::Test def test_body resp = Response.new + resp._headers({}) resp._chunk("a") resp._chunk("b") resp._finish @@ -42,6 +44,7 @@ class ResponseTest < Minitest::Test def test_body_not_finished resp = Response.new + resp._headers({}) resp._chunk("a") resp._chunk("b") assert_raises { # TODO @@ -51,6 +54,7 @@ class ResponseTest < Minitest::Test def test_on_chunk resp = Response.new + resp._headers({}) res = [] resp._chunk("a") resp._chunk("b") @@ -63,6 +67,7 @@ class ResponseTest < Minitest::Test def test_on_finish resp = Response.new + resp._headers({}) ran = false resp.on_finish { ran = true } resp._finish |