comparison tests/src/plugins/plugin/main.cpp @ 773:8c44bbcbbab9

Misc: style, cleanup and update
author David Demelier <markand@malikania.fr>
date Fri, 26 Oct 2018 13:01:00 +0200
parents 791d7591eca7
children f362994133ca
comparison
equal deleted inserted replaced
772:f5ccf65ae929 773:8c44bbcbbab9
35 35
36 namespace { 36 namespace {
37 37
38 class fake_plugin : public plugin { 38 class fake_plugin : public plugin {
39 public: 39 public:
40 using plugin::plugin; 40 using plugin::plugin;
41 41
42 auto get_name() const noexcept -> std::string_view override 42 auto get_name() const noexcept -> std::string_view override
43 { 43 {
44 return "fake"; 44 return "fake";
45 } 45 }
46 46
47 auto get_author() const noexcept -> std::string_view override 47 auto get_author() const noexcept -> std::string_view override
48 { 48 {
49 return "jean"; 49 return "jean";
50 } 50 }
51 51
52 auto get_version() const noexcept -> std::string_view override 52 auto get_version() const noexcept -> std::string_view override
53 { 53 {
54 return "0.0.0.0.0.1"; 54 return "0.0.0.0.0.1";
55 } 55 }
56 56
57 auto get_license() const noexcept -> std::string_view override 57 auto get_license() const noexcept -> std::string_view override
58 { 58 {
59 return "BEER"; 59 return "BEER";
60 } 60 }
61 61
62 auto get_summary() const noexcept -> std::string_view override 62 auto get_summary() const noexcept -> std::string_view override
63 { 63 {
64 return "Fake White Beer 2000"; 64 return "Fake White Beer 2000";
65 } 65 }
66 }; 66 };
67 67
68 class test_fixture : public js_plugin_fixture { 68 class test_fixture : public js_plugin_fixture {
69 public: 69 public:
70 test_fixture() 70 test_fixture()
71 : js_plugin_fixture(PLUGIN_PATH) 71 : js_plugin_fixture(PLUGIN_PATH)
72 { 72 {
73 irccd_.plugins().add(std::make_shared<fake_plugin>("fake")); 73 irccd_.plugins().add(std::make_shared<fake_plugin>("fake"));
74 74
75 plugin_->set_formats({ 75 plugin_->set_formats({
76 { "usage", "usage=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}" }, 76 { "usage", "usage=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}" },
77 { "info", "info=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{author}:#{license}:#{name}:#{summary}:#{version}" }, 77 { "info", "info=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{author}:#{license}:#{name}:#{summary}:#{version}" },
78 { "not-found", "not-found=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{name}" }, 78 { "not-found", "not-found=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{name}" },
79 { "too-long", "too-long=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}" } 79 { "too-long", "too-long=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}" }
80 }); 80 });
81 plugin_->handle_load(irccd_); 81 plugin_->handle_load(irccd_);
82 } 82 }
83 }; 83 };
84 84
85 BOOST_FIXTURE_TEST_SUITE(test_fixture_suite, test_fixture) 85 BOOST_FIXTURE_TEST_SUITE(test_fixture_suite, test_fixture)
86 86
87 BOOST_AUTO_TEST_CASE(format_usage) 87 BOOST_AUTO_TEST_CASE(format_usage)
88 { 88 {
89 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "" }); 89 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "" });
90 90
91 auto cmd = server_->find("message").front(); 91 auto cmd = server_->find("message").front();
92 92
93 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff"); 93 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff");
94 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "usage=plugin:!plugin:test:#staff:jean!jean@localhost:jean"); 94 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "usage=plugin:!plugin:test:#staff:jean!jean@localhost:jean");
95 95
96 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "fail" }); 96 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "fail" });
97 cmd = server_->find("message").front(); 97 cmd = server_->find("message").front();
98 98
99 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff"); 99 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff");
100 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "usage=plugin:!plugin:test:#staff:jean!jean@localhost:jean"); 100 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "usage=plugin:!plugin:test:#staff:jean!jean@localhost:jean");
101 101
102 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "info" }); 102 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "info" });
103 cmd = server_->find("message").front(); 103 cmd = server_->find("message").front();
104 104
105 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff"); 105 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff");
106 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "usage=plugin:!plugin:test:#staff:jean!jean@localhost:jean"); 106 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "usage=plugin:!plugin:test:#staff:jean!jean@localhost:jean");
107 } 107 }
108 108
109 BOOST_AUTO_TEST_CASE(format_info) 109 BOOST_AUTO_TEST_CASE(format_info)
110 { 110 {
111 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "info fake" }); 111 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "info fake" });
112 112
113 const auto cmd = server_->find("message").front(); 113 const auto cmd = server_->find("message").front();
114 114
115 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff"); 115 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff");
116 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "info=plugin:!plugin:test:#staff:jean!jean@localhost:jean:jean:BEER:fake:Fake White Beer 2000:0.0.0.0.0.1"); 116 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "info=plugin:!plugin:test:#staff:jean!jean@localhost:jean:jean:BEER:fake:Fake White Beer 2000:0.0.0.0.0.1");
117 } 117 }
118 118
119 BOOST_AUTO_TEST_CASE(format_not_found) 119 BOOST_AUTO_TEST_CASE(format_not_found)
120 { 120 {
121 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "info doesnotexistsihope" }); 121 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "info doesnotexistsihope" });
122 122
123 const auto cmd = server_->find("message").front(); 123 const auto cmd = server_->find("message").front();
124 124
125 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff"); 125 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff");
126 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "not-found=plugin:!plugin:test:#staff:jean!jean@localhost:jean:doesnotexistsihope"); 126 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "not-found=plugin:!plugin:test:#staff:jean!jean@localhost:jean:doesnotexistsihope");
127 } 127 }
128 128
129 BOOST_AUTO_TEST_CASE(format_too_long) 129 BOOST_AUTO_TEST_CASE(format_too_long)
130 { 130 {
131 for (int i = 0; i < 100; ++i) 131 for (int i = 0; i < 100; ++i)
132 irccd_.plugins().add(std::make_shared<fake_plugin>(str(format("plugin-n-%1%") % i))); 132 irccd_.plugins().add(std::make_shared<fake_plugin>(str(format("plugin-n-%1%") % i)));
133 133
134 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "list" }); 134 plugin_->handle_command(irccd_, { server_, "jean!jean@localhost", "#staff", "list" });
135 135
136 const auto cmd = server_->find("message").front(); 136 const auto cmd = server_->find("message").front();
137 137
138 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff"); 138 BOOST_TEST(std::any_cast<std::string>(cmd[0]) == "#staff");
139 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "too-long=plugin:!plugin:test:#staff:jean!jean@localhost:jean"); 139 BOOST_TEST(std::any_cast<std::string>(cmd[1]) == "too-long=plugin:!plugin:test:#staff:jean!jean@localhost:jean");
140 } 140 }
141 141
142 BOOST_AUTO_TEST_SUITE_END() 142 BOOST_AUTO_TEST_SUITE_END()
143 143
144 } // !namespace 144 } // !namespace