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