]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/beast/test/beast/websocket/frame.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / beast / test / beast / websocket / frame.cpp
1 //
2 // Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
3 //
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)
6 //
7 // Official repository: https://github.com/boostorg/beast
8 //
9
10 #include <boost/beast/websocket/detail/frame.hpp>
11 #include <boost/beast/unit_test/suite.hpp>
12
13 namespace boost {
14 namespace beast {
15 namespace websocket {
16 namespace detail {
17
18 class frame_test
19 : public beast::unit_test::suite
20 {
21 public:
22 void testCloseCodes()
23 {
24 BEAST_EXPECT(! is_valid_close_code(0));
25 BEAST_EXPECT(! is_valid_close_code(1));
26 BEAST_EXPECT(! is_valid_close_code(999));
27 BEAST_EXPECT(! is_valid_close_code(1004));
28 BEAST_EXPECT(! is_valid_close_code(1005));
29 BEAST_EXPECT(! is_valid_close_code(1006));
30 BEAST_EXPECT(! is_valid_close_code(1016));
31 BEAST_EXPECT(! is_valid_close_code(2000));
32 BEAST_EXPECT(! is_valid_close_code(2999));
33 BEAST_EXPECT(is_valid_close_code(1000));
34 BEAST_EXPECT(is_valid_close_code(1002));
35 BEAST_EXPECT(is_valid_close_code(3000));
36 BEAST_EXPECT(is_valid_close_code(4000));
37 BEAST_EXPECT(is_valid_close_code(5000));
38 }
39
40 struct test_fh : frame_header
41 {
42 test_fh()
43 {
44 op = detail::opcode::text;
45 fin = true;
46 mask = false;
47 rsv1 = false;
48 rsv2 = false;
49 rsv3 = false;
50 len = 0;
51 key = 0;
52 }
53 };
54
55 void
56 testWriteFrame()
57 {
58 test_fh fh;
59 fh.rsv2 = true;
60 fh.rsv3 = true;
61 fh.len = 65536;
62 frame_buffer fb;
63 write(fb, fh);
64 }
65
66 void run() override
67 {
68 testWriteFrame();
69 testCloseCodes();
70 }
71 };
72
73 BEAST_DEFINE_TESTSUITE(beast,websocket,frame);
74
75 } // detail
76 } // websocket
77 } // beast
78 } // boost