annotate tests/src/libirccd/irc/main.cpp @ 746:fe3d80412701

Irccd: load config in irccd-test
author David Demelier <markand@malikania.fr>
date Fri, 03 Aug 2018 12:15:00 +0200
parents e8c4ba5ed1c6
children 1e1eb83a3f0b
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 {
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 irc::message m;
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
33
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 BOOST_TEST(!m);
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 m = irc::message::parse("PRIVMSG jean :bonjour à toi");
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 BOOST_TEST(m);
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 BOOST_TEST(m.prefix().empty());
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 BOOST_TEST(m.command() == "PRIVMSG");
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 BOOST_TEST(m.args().size() == 2U);
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 BOOST_TEST(m.args()[0] == "jean");
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 BOOST_TEST(m.args()[1] == "bonjour à toi");
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 }
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 BOOST_AUTO_TEST_CASE(prefix)
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 {
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 irc::message m;
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
48
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 BOOST_TEST(!m);
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 m = irc::message::parse(":127.0.0.1 PRIVMSG jean :bonjour à toi");
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 BOOST_TEST(m);
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 BOOST_TEST(m.prefix() == "127.0.0.1");
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 BOOST_TEST(m.command() == "PRIVMSG");
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 BOOST_TEST(m.args().size() == 2U);
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 BOOST_TEST(m.args()[0] == "jean");
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 BOOST_TEST(m.args()[1] == "bonjour à toi");
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 }
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
59
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 BOOST_AUTO_TEST_SUITE_END()
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
61
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 BOOST_AUTO_TEST_SUITE(user_parse)
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
63
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 BOOST_AUTO_TEST_CASE(basics)
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 {
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 auto user = irc::user::parse("jean!~jean@127.0.0.1");
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 BOOST_TEST(user.nick() == "jean");
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 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
70
64cb98dd8e9d Irccd: finish custom IRC library, closes #581
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
71 auto usersimple = irc::user::parse("jean");
64cb98dd8e9d Irccd: finish custom IRC library, closes #581
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
72
64cb98dd8e9d Irccd: finish custom IRC library, closes #581
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
73 BOOST_TEST(usersimple.nick() == "jean");
64cb98dd8e9d Irccd: finish custom IRC library, closes #581
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
74 BOOST_TEST(usersimple.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
550
64cb98dd8e9d Irccd: finish custom IRC library, closes #581
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
77 BOOST_AUTO_TEST_CASE(empty)
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 {
550
64cb98dd8e9d Irccd: finish custom IRC library, closes #581
David Demelier <markand@malikania.fr>
parents: 549
diff changeset
79 auto user = irc::user::parse("");
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
80
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 BOOST_TEST(user.nick().empty());
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 BOOST_TEST(user.host().empty());
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 }
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
84
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 BOOST_AUTO_TEST_SUITE_END()
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
86
723
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
87 } // !namespace
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
88
549
68032209609d Irccd: initial custom IRC code
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 } // !irccd