]>
git.proxmox.com Git - ceph.git/blob - ceph/src/Beast/test/http/chunk_encode.cpp
2 // Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
4 // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 // Test that header file is self-contained.
9 #include <beast/http/chunk_encode.hpp>
11 #include <beast/core/to_string.hpp>
12 #include <beast/unit_test/suite.hpp>
17 class chunk_encode_test
: public beast::unit_test::suite
24 final_chunk() = default;
27 final_chunk(std::string s_
)
35 encode1(std::string
& s
, final_chunk
const& fc
)
37 using boost::asio::buffer
;
39 s
.append(to_string(chunk_encode(
40 false, buffer(fc
.s
.data(), fc
.s
.size()))));
41 s
.append(to_string(chunk_encode_final()));
46 encode1(std::string
& s
, std::string
const& piece
)
48 using boost::asio::buffer
;
49 s
.append(to_string(chunk_encode(
50 false, buffer(piece
.data(), piece
.size()))));
60 template<class Arg
, class... Args
>
63 encode(std::string
& s
, Arg
const& arg
, Args
const&... args
)
69 template<class... Args
>
71 check(std::string
const& answer
, Args
const&... args
)
75 BEAST_EXPECT(s
== answer
);
103 "*", final_chunk("*"));
111 "*****", final_chunk("*******"));
119 "*", "*", final_chunk
{});
125 "****", final_chunk
{});
127 BEAST_EXPECT(to_string(chunk_encode(true,
128 boost::asio::buffer("****", 4))) ==
129 "4\r\n****\r\n0\r\n\r\n");
133 BEAST_DEFINE_TESTSUITE(chunk_encode
,http
,beast
);