annotate tests/src/libirccd/dynlib-plugin/main.cpp @ 757:97b356010785

Irccd: create (command|jsapi)::registry Make two list of constructor functions to initialize all command and all Javascript modules to avoid duplicating efforts in case of change. While here, update test fixtures to load all of them for simplicity.
author David Demelier <markand@malikania.fr>
date Mon, 06 Aug 2018 21:27:00 +0200
parents 190b16cfa848
children 8c44bbcbbab9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * main.cpp -- test dynlib_plugin
458e34f16c1f Irccd: rework native plugins, closes #707
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>
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #define BOOST_TEST_MODULE "dynlib_plugin"
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #include <boost/test/unit_test.hpp>
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 /*
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
23 * For this test, we update internal plugin configuration each time a function
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
24 * is called and check if it has been called correctly using get_options.
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 */
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
604
9d4da384f5d6 Tests: move libirccd-test to test/ folder, closes #750
David Demelier <markand@malikania.fr>
parents: 583
diff changeset
27 #include <irccd/daemon/dynlib_plugin.hpp>
690
849c4337c18e Misc: headers reduction
David Demelier <markand@malikania.fr>
parents: 684
diff changeset
28 #include <irccd/daemon/server.hpp>
604
9d4da384f5d6 Tests: move libirccd-test to test/ folder, closes #750
David Demelier <markand@malikania.fr>
parents: 583
diff changeset
29 #include <irccd/daemon/irccd.hpp>
9d4da384f5d6 Tests: move libirccd-test to test/ folder, closes #750
David Demelier <markand@malikania.fr>
parents: 583
diff changeset
30
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 namespace irccd {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
723
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 722
diff changeset
33 namespace {
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 722
diff changeset
34
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 class fixture {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 protected:
583
55cc4ba15026 Tests: bring dynlib_plugin back to life
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
37 boost::asio::io_service service_;
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 std::shared_ptr<plugin> plugin_;
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
39 irccd irccd_{service_};
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
40
737
190b16cfa848 Tests: improve command tests readability
David Demelier <markand@malikania.fr>
parents: 723
diff changeset
41 fixture()
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 {
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 plugin_ = dynlib_plugin_loader({CMAKE_CURRENT_BINARY_DIR}).find("test-plugin");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 if (!plugin_)
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 throw std::runtime_error("test plugin not found");
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 };
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
49
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 BOOST_FIXTURE_TEST_SUITE(dynlib_plugin_suite, fixture)
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
51
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
52 BOOST_AUTO_TEST_CASE(handle_command)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
54 plugin_->handle_command(irccd_, {});
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
56 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
57 BOOST_TEST(plugin_->get_options()["command"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
59
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
60 BOOST_AUTO_TEST_CASE(handle_connect)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
62 plugin_->handle_connect(irccd_, {});
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
63
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
64 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
65 BOOST_TEST(plugin_->get_options()["connect"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
67
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
68 BOOST_AUTO_TEST_CASE(handle_invite)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
70 plugin_->handle_invite(irccd_, {});
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
71
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
72 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
73 BOOST_TEST(plugin_->get_options()["invite"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
75
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
76 BOOST_AUTO_TEST_CASE(handle_join)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
78 plugin_->handle_join(irccd_, {});
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
79
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
80 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
81 BOOST_TEST(plugin_->get_options()["join"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
83
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
84 BOOST_AUTO_TEST_CASE(handle_kick)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
86 plugin_->handle_kick(irccd_, {});
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
87
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
88 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
89 BOOST_TEST(plugin_->get_options()["kick"] == "true");
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
90 }
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
91
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
92 BOOST_AUTO_TEST_CASE(handle_load)
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
93 {
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
94 plugin_->handle_load(irccd_);
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
95
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
96 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
97 BOOST_TEST(plugin_->get_options()["load"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
99
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
100 BOOST_AUTO_TEST_CASE(handle_message)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
102 plugin_->handle_message(irccd_, {});
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
103
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
104 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
105 BOOST_TEST(plugin_->get_options()["message"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
107
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
108 BOOST_AUTO_TEST_CASE(handle_me)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
110 plugin_->handle_me(irccd_, {});
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
111
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
112 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
113 BOOST_TEST(plugin_->get_options()["me"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
115
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
116 BOOST_AUTO_TEST_CASE(handle_mode)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
118 plugin_->handle_mode(irccd_, {});
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
119
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
120 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
121 BOOST_TEST(plugin_->get_options()["mode"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
122 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
123
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
124 BOOST_AUTO_TEST_CASE(handle_names)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
126 plugin_->handle_names(irccd_, {});
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
127
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
128 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
129 BOOST_TEST(plugin_->get_options()["names"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
131
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
132 BOOST_AUTO_TEST_CASE(handle_nick)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
134 plugin_->handle_nick(irccd_, {});
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
135
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
136 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
137 BOOST_TEST(plugin_->get_options()["nick"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
139
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
140 BOOST_AUTO_TEST_CASE(handle_notice)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
141 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
142 plugin_->handle_notice(irccd_, {});
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
143
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
144 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
145 BOOST_TEST(plugin_->get_options()["notice"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
147
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
148 BOOST_AUTO_TEST_CASE(handle_part)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
149 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
150 plugin_->handle_part(irccd_, {});
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
151
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
152 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
153 BOOST_TEST(plugin_->get_options()["part"] == "true");
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
154 }
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
155
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
156 BOOST_AUTO_TEST_CASE(handle_reload)
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
157 {
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
158 plugin_->handle_reload(irccd_);
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
159
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
160 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
161 BOOST_TEST(plugin_->get_options()["reload"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
163
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
164 BOOST_AUTO_TEST_CASE(handle_topic)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
165 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
166 plugin_->handle_topic(irccd_, {});
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
167
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
168 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
169 BOOST_TEST(plugin_->get_options()["topic"] == "true");
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
170 }
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
171
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
172 BOOST_AUTO_TEST_CASE(handle_unload)
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
173 {
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
174 plugin_->handle_unload(irccd_);
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
175
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
176 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
177 BOOST_TEST(plugin_->get_options()["unload"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
179
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
180 BOOST_AUTO_TEST_CASE(handle_whois)
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 {
684
8d93e415c3b4 Irccd: load directly native plugin instead of wrapping it, closes #790 @1h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
182 plugin_->handle_whois(irccd_, {});
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
183
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
184 BOOST_TEST(plugin_->get_options().size() == 1U);
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 690
diff changeset
185 BOOST_TEST(plugin_->get_options()["whois"] == "true");
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
186 }
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
187
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 BOOST_AUTO_TEST_SUITE_END()
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
189
723
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 722
diff changeset
190 } // !namespace
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 722
diff changeset
191
500
458e34f16c1f Irccd: rework native plugins, closes #707
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 } // !irccd