Mercurial > irccd
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 |
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 |