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/zlib/error.hpp>
11 #include <beast/unit_test/suite.hpp>
17 class error_test
: public unit_test::suite
20 void check(char const* name
, error ev
)
22 auto const ec
= make_error_code(ev
);
23 BEAST_EXPECT(std::string
{ec
.category().name()} == name
);
24 BEAST_EXPECT(! ec
.message().empty());
25 BEAST_EXPECT(std::addressof(ec
.category()) ==
26 std::addressof(detail::get_error_category()));
27 BEAST_EXPECT(detail::get_error_category().equivalent(
28 static_cast<std::underlying_type
<error
>::type
>(ev
),
29 ec
.category().default_error_condition(
30 static_cast<std::underlying_type
<error
>::type
>(ev
))));
31 BEAST_EXPECT(detail::get_error_category().equivalent(
32 ec
, static_cast<std::underlying_type
<error
>::type
>(ev
)));
37 check("zlib", error::need_buffers
);
38 check("zlib", error::end_of_stream
);
39 check("zlib", error::stream_error
);
41 check("zlib", error::invalid_block_type
);
42 check("zlib", error::invalid_stored_length
);
43 check("zlib", error::too_many_symbols
);
44 check("zlib", error::invalid_code_lenths
);
45 check("zlib", error::invalid_bit_length_repeat
);
46 check("zlib", error::missing_eob
);
47 check("zlib", error::invalid_literal_length
);
48 check("zlib", error::invalid_distance_code
);
49 check("zlib", error::invalid_distance
);
51 check("zlib", error::over_subscribed_length
);
52 check("zlib", error::incomplete_length_set
);
54 check("zlib", error::general
);
58 BEAST_DEFINE_TESTSUITE(error
,zlib
,beast
);