Mercurial > irccd
comparison tests/src/irccdctl/cli-plugin-reload/main.cpp @ 722:3e816cebed2c
Irccd: make plugin pure abstract, closes #796 @3h
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 16 Jul 2018 21:19:47 +0200 |
parents | a4082de4e94e |
children | 9d13aabfd63a |
comparison
equal
deleted
inserted
replaced
721:2fa1f2c898ee | 722:3e816cebed2c |
---|---|
23 | 23 |
24 namespace irccd { | 24 namespace irccd { |
25 | 25 |
26 namespace { | 26 namespace { |
27 | 27 |
28 class custom_plugin : public plugin { | 28 class reloadable_plugin : public plugin { |
29 public: | 29 public: |
30 bool reloaded_{false}; | 30 bool reloaded{false}; |
31 | 31 |
32 custom_plugin() | 32 auto get_name() const noexcept -> std::string_view override |
33 : plugin("p", "local") | |
34 { | 33 { |
34 return "reload"; | |
35 } | 35 } |
36 | 36 |
37 void handle_reload(irccd&) override | 37 void handle_reload(irccd&) override |
38 { | 38 { |
39 reloaded_ = true; | 39 reloaded = true; |
40 } | 40 } |
41 }; | 41 }; |
42 | |
43 } // !namespace | |
44 | 42 |
45 BOOST_FIXTURE_TEST_SUITE(plugin_reload_suite, plugin_cli_test) | 43 BOOST_FIXTURE_TEST_SUITE(plugin_reload_suite, plugin_cli_test) |
46 | 44 |
47 BOOST_AUTO_TEST_CASE(simple) | 45 BOOST_AUTO_TEST_CASE(simple) |
48 { | 46 { |
49 const auto plugin = std::make_shared<custom_plugin>(); | 47 const auto plugin = std::make_shared<reloadable_plugin>(); |
50 | 48 |
51 irccd_.plugins().add(plugin); | 49 irccd_.plugins().add("p", plugin); |
52 start(); | 50 start(); |
53 | 51 |
54 const auto result = exec({ "plugin-reload", "p" }); | 52 const auto result = exec({ "plugin-reload", "p" }); |
55 | 53 |
56 BOOST_TEST(result.first.size() == 0U); | 54 BOOST_TEST(result.first.size() == 0U); |
57 BOOST_TEST(result.second.size() == 0U); | 55 BOOST_TEST(result.second.size() == 0U); |
58 BOOST_TEST(plugin->reloaded_); | 56 BOOST_TEST(plugin->reloaded); |
59 } | 57 } |
60 | 58 |
61 BOOST_AUTO_TEST_SUITE_END() | 59 BOOST_AUTO_TEST_SUITE_END() |
62 | 60 |
61 } // !namespace | |
62 | |
63 } // !irccd | 63 } // !irccd |