Mercurial > irccd
comparison tests/plugin-hangman/main.cpp @ 488:7e273b7f4f92
Irccd: new coding style, closes #576
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 26 Sep 2017 17:18:47 +0200 |
parents | 0b156b82b8c1 |
children | e03521cf207b |
comparison
equal
deleted
inserted
replaced
487:beb6c638b841 | 488:7e273b7f4f92 |
---|---|
27 | 27 |
28 #include "plugin-tester.hpp" | 28 #include "plugin-tester.hpp" |
29 | 29 |
30 using namespace irccd; | 30 using namespace irccd; |
31 | 31 |
32 class ServerTest : public Server { | 32 class ServerTest : public server { |
33 private: | 33 private: |
34 std::string m_last; | 34 std::string m_last; |
35 | 35 |
36 public: | 36 public: |
37 inline ServerTest() | 37 inline ServerTest() |
38 : Server("test") | 38 : server("test") |
39 { | 39 { |
40 } | 40 } |
41 | 41 |
42 inline const std::string &last() const noexcept | 42 inline const std::string &last() const noexcept |
43 { | 43 { |
51 }; | 51 }; |
52 | 52 |
53 class HangmanTest : public PluginTester { | 53 class HangmanTest : public PluginTester { |
54 protected: | 54 protected: |
55 std::shared_ptr<ServerTest> m_server; | 55 std::shared_ptr<ServerTest> m_server; |
56 std::shared_ptr<Plugin> m_plugin; | 56 std::shared_ptr<plugin> m_plugin; |
57 | 57 |
58 public: | 58 public: |
59 HangmanTest() | 59 HangmanTest() |
60 : m_server(std::make_shared<ServerTest>()) | 60 : m_server(std::make_shared<ServerTest>()) |
61 { | 61 { |
62 m_irccd.plugins().setFormats("hangman", { | 62 m_irccd.plugins().set_formats("hangman", { |
63 { "asked", "asked=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{letter}" }, | 63 { "asked", "asked=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{letter}" }, |
64 { "dead", "dead=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, | 64 { "dead", "dead=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, |
65 { "found", "found=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, | 65 { "found", "found=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, |
66 { "start", "start=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, | 66 { "start", "start=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, |
67 { "running", "running=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, | 67 { "running", "running=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" }, |
70 { "wrong-player", "wrong-player=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{letter}" }, | 70 { "wrong-player", "wrong-player=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{letter}" }, |
71 { "wrong-word", "wrong-word=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" } | 71 { "wrong-word", "wrong-word=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{word}" } |
72 }); | 72 }); |
73 } | 73 } |
74 | 74 |
75 void load(PluginConfig config = PluginConfig()) | 75 void load(plugin_config config = {}) |
76 { | 76 { |
77 // Add file if not there. | 77 // Add file if not there. |
78 if (config.count("file") == 0) | 78 if (config.count("file") == 0) |
79 config.emplace("file", SOURCEDIR "/words.conf"); | 79 config.emplace("file", SOURCEDIR "/words.conf"); |
80 | 80 |
81 m_irccd.plugins().setConfig("hangman", config); | 81 m_irccd.plugins().set_config("hangman", config); |
82 m_irccd.plugins().load("hangman", PLUGINDIR "/hangman.js"); | 82 m_irccd.plugins().load("hangman", CMAKE_SOURCE_DIR "/plugins/hangman/hangman.js"); |
83 m_plugin = m_irccd.plugins().require("hangman"); | 83 m_plugin = m_irccd.plugins().require("hangman"); |
84 } | 84 } |
85 }; | 85 }; |
86 | 86 |
87 TEST_F(HangmanTest, asked) | 87 TEST_F(HangmanTest, asked) |
88 { | 88 { |
89 load({{ "collaborative", "false" }}); | 89 load({{ "collaborative", "false" }}); |
90 | 90 |
91 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 91 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
92 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "s"}); | 92 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "s"}); |
93 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "s"}); | 93 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "s"}); |
94 | 94 |
95 ASSERT_EQ("#hangman:asked=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s", m_server->last()); | 95 ASSERT_EQ("#hangman:asked=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s", m_server->last()); |
96 } | 96 } |
97 | 97 |
98 TEST_F(HangmanTest, dead) | 98 TEST_F(HangmanTest, dead) |
99 { | 99 { |
100 load({{ "collaborative", "false" }}); | 100 load({{ "collaborative", "false" }}); |
101 | 101 |
102 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 102 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
103 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "a"}); | 103 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "a"}); |
104 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "b"}); | 104 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "b"}); |
105 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "c"}); | 105 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "c"}); |
106 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "d"}); | 106 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "d"}); |
107 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "e"}); | 107 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "e"}); |
108 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "f"}); | 108 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "f"}); |
109 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "g"}); | 109 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "g"}); |
110 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "h"}); | 110 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "h"}); |
111 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "i"}); | 111 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "i"}); |
112 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "j"}); | 112 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "j"}); |
113 | 113 |
114 ASSERT_EQ("#hangman:dead=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky", m_server->last()); | 114 ASSERT_EQ("#hangman:dead=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky", m_server->last()); |
115 } | 115 } |
116 | 116 |
117 TEST_F(HangmanTest, found) | 117 TEST_F(HangmanTest, found) |
118 { | 118 { |
119 load({{ "collaborative", "false" }}); | 119 load({{ "collaborative", "false" }}); |
120 | 120 |
121 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 121 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
122 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "s"}); | 122 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "s"}); |
123 | 123 |
124 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _", m_server->last()); | 124 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _", m_server->last()); |
125 } | 125 } |
126 | 126 |
127 TEST_F(HangmanTest, start) | 127 TEST_F(HangmanTest, start) |
128 { | 128 { |
129 load(); | 129 load(); |
130 | 130 |
131 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 131 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
132 | 132 |
133 ASSERT_EQ("#hangman:start=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ _", m_server->last()); | 133 ASSERT_EQ("#hangman:start=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ _", m_server->last()); |
134 } | 134 } |
135 | 135 |
136 TEST_F(HangmanTest, win1) | 136 TEST_F(HangmanTest, win1) |
137 { | 137 { |
138 load({{ "collaborative", "false" }}); | 138 load({{ "collaborative", "false" }}); |
139 | 139 |
140 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 140 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
141 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "s"}); | 141 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "s"}); |
142 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "k"}); | 142 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "k"}); |
143 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "y"}); | 143 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "y"}); |
144 | 144 |
145 ASSERT_EQ("#hangman:win=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky", m_server->last()); | 145 ASSERT_EQ("#hangman:win=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky", m_server->last()); |
146 } | 146 } |
147 | 147 |
148 TEST_F(HangmanTest, win2) | 148 TEST_F(HangmanTest, win2) |
149 { | 149 { |
150 load({{ "collaborative", "false" }}); | 150 load({{ "collaborative", "false" }}); |
151 | 151 |
152 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 152 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
153 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "sky"}); | 153 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "sky"}); |
154 | 154 |
155 ASSERT_EQ("#hangman:win=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky", m_server->last()); | 155 ASSERT_EQ("#hangman:win=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:sky", m_server->last()); |
156 } | 156 } |
157 | 157 |
158 TEST_F(HangmanTest, wrongLetter) | 158 TEST_F(HangmanTest, wrongLetter) |
159 { | 159 { |
160 load(); | 160 load(); |
161 | 161 |
162 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 162 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
163 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "x"}); | 163 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "x"}); |
164 | 164 |
165 ASSERT_EQ("#hangman:wrong-letter=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:x", m_server->last()); | 165 ASSERT_EQ("#hangman:wrong-letter=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:x", m_server->last()); |
166 } | 166 } |
167 | 167 |
168 TEST_F(HangmanTest, wrongWord) | 168 TEST_F(HangmanTest, wrongWord) |
169 { | 169 { |
170 load(); | 170 load(); |
171 | 171 |
172 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 172 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
173 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "cheese"}); | 173 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "cheese"}); |
174 | 174 |
175 ASSERT_EQ("#hangman:wrong-word=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:cheese", m_server->last()); | 175 ASSERT_EQ("#hangman:wrong-word=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:cheese", m_server->last()); |
176 } | 176 } |
177 | 177 |
178 TEST_F(HangmanTest, collaborativeDisabled) | 178 TEST_F(HangmanTest, collaborativeDisabled) |
179 { | 179 { |
180 // Disable collaborative mode. | 180 // Disable collaborative mode. |
181 load({{ "collaborative", "false" }}); | 181 load({{ "collaborative", "false" }}); |
182 | 182 |
183 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 183 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
184 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "s"}); | 184 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "s"}); |
185 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _", m_server->last()); | 185 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _", m_server->last()); |
186 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "k"}); | 186 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "k"}); |
187 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s k _", m_server->last()); | 187 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s k _", m_server->last()); |
188 } | 188 } |
189 | 189 |
190 TEST_F(HangmanTest, collaborativeEnabled) | 190 TEST_F(HangmanTest, collaborativeEnabled) |
191 { | 191 { |
192 // Enable collaborative mode. | 192 // Enable collaborative mode. |
193 load({{ "collaborative", "true" }}); | 193 load({{ "collaborative", "true" }}); |
194 | 194 |
195 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 195 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
196 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "s"}); | 196 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "s"}); |
197 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _", m_server->last()); | 197 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _", m_server->last()); |
198 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "k"}); | 198 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "k"}); |
199 ASSERT_EQ("#hangman:wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k", m_server->last()); | 199 ASSERT_EQ("#hangman:wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k", m_server->last()); |
200 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "francis!francis@localhost", "#hangman", "k"}); | 200 m_plugin->on_message(m_irccd, {m_server, "francis!francis@localhost", "#hangman", "k"}); |
201 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _", m_server->last()); | 201 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _", m_server->last()); |
202 } | 202 } |
203 | 203 |
204 TEST_F(HangmanTest, case_fix_642) | 204 TEST_F(HangmanTest, case_fix_642) |
205 { | 205 { |
206 load(); | 206 load(); |
207 | 207 |
208 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 208 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
209 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#HANGMAN", "s"}); | 209 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#HANGMAN", "s"}); |
210 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _", m_server->last()); | 210 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:s _ _", m_server->last()); |
211 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#HaNGMaN", "k"}); | 211 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#HaNGMaN", "k"}); |
212 ASSERT_EQ("#hangman:wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k", m_server->last()); | 212 ASSERT_EQ("#hangman:wrong-player=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:k", m_server->last()); |
213 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "francis!francis@localhost", "#hAngmAn", "k"}); | 213 m_plugin->on_message(m_irccd, {m_server, "francis!francis@localhost", "#hAngmAn", "k"}); |
214 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _", m_server->last()); | 214 ASSERT_EQ("#hangman:found=hangman:!hangman:test:#hangman:francis!francis@localhost:francis:s k _", m_server->last()); |
215 } | 215 } |
216 | 216 |
217 TEST_F(HangmanTest, query) | 217 TEST_F(HangmanTest, query) |
218 { | 218 { |
219 load(); | 219 load(); |
220 | 220 |
221 // Query mode is never collaborative. | 221 // Query mode is never collaborative. |
222 m_plugin->onQueryCommand(m_irccd, QueryEvent{m_server, "jean!jean@localhost", ""}); | 222 m_plugin->on_query_command(m_irccd, {m_server, "jean!jean@localhost", ""}); |
223 ASSERT_EQ("jean:start=hangman:!hangman:test:jean:jean!jean@localhost:jean:_ _ _", m_server->last()); | 223 ASSERT_EQ("jean:start=hangman:!hangman:test:jean:jean!jean@localhost:jean:_ _ _", m_server->last()); |
224 m_plugin->onQuery(m_irccd, QueryEvent{m_server, "jean!jean@localhost", "s"}); | 224 m_plugin->on_query(m_irccd, {m_server, "jean!jean@localhost", "s"}); |
225 ASSERT_EQ("jean:found=hangman:!hangman:test:jean:jean!jean@localhost:jean:s _ _", m_server->last()); | 225 ASSERT_EQ("jean:found=hangman:!hangman:test:jean:jean!jean@localhost:jean:s _ _", m_server->last()); |
226 m_plugin->onQuery(m_irccd, QueryEvent{m_server, "jean!jean@localhost", "k"}); | 226 m_plugin->on_query(m_irccd, {m_server, "jean!jean@localhost", "k"}); |
227 ASSERT_EQ("jean:found=hangman:!hangman:test:jean:jean!jean@localhost:jean:s k _", m_server->last()); | 227 ASSERT_EQ("jean:found=hangman:!hangman:test:jean:jean!jean@localhost:jean:s k _", m_server->last()); |
228 m_plugin->onQueryCommand(m_irccd, QueryEvent{m_server, "jean!jean@localhost", "sky"}); | 228 m_plugin->on_query_command(m_irccd, {m_server, "jean!jean@localhost", "sky"}); |
229 ASSERT_EQ("jean:win=hangman:!hangman:test:jean:jean!jean@localhost:jean:sky", m_server->last()); | 229 ASSERT_EQ("jean:win=hangman:!hangman:test:jean:jean!jean@localhost:jean:sky", m_server->last()); |
230 } | 230 } |
231 | 231 |
232 TEST_F(HangmanTest, running) | 232 TEST_F(HangmanTest, running) |
233 { | 233 { |
234 load(); | 234 load(); |
235 | 235 |
236 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 236 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
237 m_plugin->onMessage(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", "y"}); | 237 m_plugin->on_message(m_irccd, {m_server, "jean!jean@localhost", "#hangman", "y"}); |
238 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 238 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
239 ASSERT_EQ("#hangman:running=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ y", m_server->last()); | 239 ASSERT_EQ("#hangman:running=hangman:!hangman:test:#hangman:jean!jean@localhost:jean:_ _ y", m_server->last()); |
240 } | 240 } |
241 | 241 |
242 TEST_F(HangmanTest, wordlist_fix_644) | 242 TEST_F(HangmanTest, wordlist_fix_644) |
243 { | 243 { |
257 { 16, "abcd" }, | 257 { 16, "abcd" }, |
258 { 18, "abcde" } | 258 { 18, "abcde" } |
259 }; | 259 }; |
260 std::unordered_set<unsigned> found; | 260 std::unordered_set<unsigned> found; |
261 | 261 |
262 m_plugin->setFormats({ | 262 m_plugin->set_formats({ |
263 { "start", "#{word}" } | 263 { "start", "#{word}" } |
264 }); | 264 }); |
265 | 265 |
266 unsigned last, current; | 266 unsigned last, current; |
267 | 267 |
268 // 1. Initial game + finish. | 268 // 1. Initial game + finish. |
269 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 269 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
270 last = m_server->last().length(); | 270 last = m_server->last().length(); |
271 found.insert(last); | 271 found.insert(last); |
272 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", words[last]}); | 272 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", words[last]}); |
273 | 273 |
274 // 2. Current must not be the last one. | 274 // 2. Current must not be the last one. |
275 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 275 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
276 current = m_server->last().length(); | 276 current = m_server->last().length(); |
277 | 277 |
278 ASSERT_NE(last, current); | 278 ASSERT_NE(last, current); |
279 ASSERT_EQ(0U, found.count(current)); | 279 ASSERT_EQ(0U, found.count(current)); |
280 | 280 |
281 found.insert(current); | 281 found.insert(current); |
282 last = current; | 282 last = current; |
283 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", words[current]}); | 283 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", words[current]}); |
284 | 284 |
285 // 3. Last word must be the one that is kept into the map. | 285 // 3. Last word must be the one that is kept into the map. |
286 m_plugin->onCommand(m_irccd, MessageEvent{m_server, "jean!jean@localhost", "#hangman", ""}); | 286 m_plugin->on_command(m_irccd, {m_server, "jean!jean@localhost", "#hangman", ""}); |
287 current = m_server->last().length(); | 287 current = m_server->last().length(); |
288 | 288 |
289 ASSERT_NE(last, current); | 289 ASSERT_NE(last, current); |
290 ASSERT_EQ(0U, found.count(current)); | 290 ASSERT_EQ(0U, found.count(current)); |
291 } | 291 } |