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