annotate tests/src/libirccd/irc/main.cpp @ 750:1e1eb83a3f0b

Irccd: IRC code cleanup
author David Demelier <markand@malikania.fr>
date Fri, 03 Aug 2018 19:31:00 +0200
parents e8c4ba5ed1c6
children 8c44bbcbbab9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * main.cpp -- test irc functions
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
628
27587ff92a64 Misc: update copyrights
David Demelier <markand@malikania.fr>
parents: 611
diff changeset
4 * Copyright (c) 2013-2018 David Demelier <markand@malikania.fr>
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #define BOOST_TEST_MODULE "irc"
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #include <boost/test/unit_test.hpp>
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
596
35832b7f4f9d Irccd: move files to daemon folder, closes #731
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
22 #include <irccd/daemon/irc.hpp>
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
23
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 namespace irccd {
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
25
723
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
26 namespace {
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
27
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 BOOST_AUTO_TEST_SUITE(message_parse)
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 BOOST_AUTO_TEST_CASE(no_prefix)
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 {
750
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
32 const auto m = irc::message::parse("PRIVMSG jean :bonjour à toi");
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
33
750
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
34 BOOST_TEST(m.prefix.empty());
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
35 BOOST_TEST(m.command == "PRIVMSG");
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
36 BOOST_TEST(m.args.size() == 2U);
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
37 BOOST_TEST(m.args[0] == "jean");
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
38 BOOST_TEST(m.args[1] == "bonjour à toi");
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 }
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
40
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 BOOST_AUTO_TEST_CASE(prefix)
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 {
750
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
43 const auto m = irc::message::parse(":127.0.0.1 PRIVMSG jean :bonjour à toi");
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
750
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
45 BOOST_TEST(m.prefix == "127.0.0.1");
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
46 BOOST_TEST(m.command == "PRIVMSG");
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
47 BOOST_TEST(m.args.size() == 2U);
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
48 BOOST_TEST(m.args[0] == "jean");
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
49 BOOST_TEST(m.args[1] == "bonjour à toi");
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 }
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
51
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 BOOST_AUTO_TEST_SUITE_END()
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
53
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 BOOST_AUTO_TEST_SUITE(user_parse)
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 BOOST_AUTO_TEST_CASE(basics)
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 {
750
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
58 const auto user = irc::user::parse("jean!~jean@127.0.0.1");
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
59
750
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
60 BOOST_TEST(user.nick == "jean");
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
61 BOOST_TEST(user.host == "~jean@127.0.0.1");
550
64cb98dd8e9d Irccd: finish custom IRC library, closes #581
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
62
750
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
63 const auto usersimple = irc::user::parse("jean");
550
64cb98dd8e9d Irccd: finish custom IRC library, closes #581
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
64
750
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
65 BOOST_TEST(usersimple.nick == "jean");
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
66 BOOST_TEST(usersimple.host.empty());
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 }
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
68
550
64cb98dd8e9d Irccd: finish custom IRC library, closes #581
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
69 BOOST_AUTO_TEST_CASE(empty)
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 {
750
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
71 const auto user = irc::user::parse("");
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
72
750
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
73 BOOST_TEST(user.nick.empty());
1e1eb83a3f0b Irccd: IRC code cleanup
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
74 BOOST_TEST(user.host.empty());
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 }
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
76
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 BOOST_AUTO_TEST_SUITE_END()
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
78
723
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
79 } // !namespace
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
80
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 } // !irccd