annotate tests/plugin-history/main.cpp @ 536:623cb5d831d2

Irccd: split transport_service
author David Demelier <markand@malikania.fr>
date Fri, 17 Nov 2017 20:47:36 +0100
parents c59b87f66b67
children a5e1c91abb8e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * main.cpp -- test history plugin
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
394
c6fbb6e0e06d Happy new year!
David Demelier <markand@malikania.fr>
parents: 350
diff changeset
4 * Copyright (c) 2013-2017 David Demelier <markand@malikania.fr>
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #include <regex>
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
21 #define BOOST_TEST_MODULE "History plugin"
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
22 #include <boost/test/unit_test.hpp>
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
23
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 #include <irccd/irccd.hpp>
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 #include <irccd/server.hpp>
350
287e9ede5eef Tests: unbreak some
David Demelier <markand@malikania.fr>
parents: 250
diff changeset
26 #include <irccd/service.hpp>
287e9ede5eef Tests: unbreak some
David Demelier <markand@malikania.fr>
parents: 250
diff changeset
27
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
28 #include "plugin_test.hpp"
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
30 namespace irccd {
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
31
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
32 class history_test : public plugin_test {
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 public:
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
34 history_test()
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
35 : plugin_test(PLUGIN_NAME, PLUGIN_PATH)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
36 {
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
37 plugin_->set_formats({
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
38 { "error", "error=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}" },
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
39 { "seen", "seen=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{target}:%H:%M" },
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
40 { "said", "said=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{target}:#{message}:%H:%M" },
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
41 { "unknown", "unknown=#{plugin}:#{command}:#{server}:#{channel}:#{origin}:#{nickname}:#{target}" },
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
42 });
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
43 }
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
45 void load(plugin_config config = {})
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
46 {
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
47 // Add file if not there.
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
48 if (config.count("file") == 0)
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
49 config.emplace("file", CMAKE_CURRENT_SOURCE_DIR "/words.conf");
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
50
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
51 plugin_->set_config(config);
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
52 plugin_->on_load(irccd_);
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
53 }
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 };
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
56 BOOST_FIXTURE_TEST_SUITE(history_test_suite, history_test)
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
57
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
58 BOOST_AUTO_TEST_CASE(format_error)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 {
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
60 load({{"file", CMAKE_CURRENT_SOURCE_DIR "/broken-conf.json"}});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
61
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
62 plugin_->on_command(irccd_, {server_, "jean!jean@localhost", "#history", "seen francis"});
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
63
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
64 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
65
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
66 BOOST_REQUIRE_EQUAL(cmd["command"].get<std::string>(), "message");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
67 BOOST_REQUIRE_EQUAL(cmd["target"].get<std::string>(), "#history");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
68 BOOST_REQUIRE_EQUAL(cmd["message"].get<std::string>(), "error=history:!history:test:#history:jean!jean@localhost:jean");
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 }
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
70
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
71 BOOST_AUTO_TEST_CASE(format_seen)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 {
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
73 const std::regex rule("seen=history:!history:test:#history:destructor!dst@localhost:destructor:jean:\\d{2}:\\d{2}");
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
74
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
75 remove(CMAKE_CURRENT_BINARY_DIR "/seen.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
76 load({{ "file", CMAKE_CURRENT_BINARY_DIR "/seen.json" }});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
77
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
78 plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
79 plugin_->on_command(irccd_, {server_, "destructor!dst@localhost", "#history", "seen jean"});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
80
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
81 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
82
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
83 BOOST_REQUIRE_EQUAL(cmd["command"].get<std::string>(), "message");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
84 BOOST_REQUIRE_EQUAL(cmd["target"].get<std::string>(), "#history");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
85 BOOST_REQUIRE(std::regex_match(cmd["message"].get<std::string>(), rule));
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 }
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
87
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
88 BOOST_AUTO_TEST_CASE(format_said)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 {
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
90 std::regex rule("said=history:!history:test:#history:destructor!dst@localhost:destructor:jean:hello:\\d{2}:\\d{2}");
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
91
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
92 remove(CMAKE_CURRENT_BINARY_DIR "/said.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
93 load({{ "file", CMAKE_CURRENT_BINARY_DIR "/said.json" }});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
94
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
95 plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
96 plugin_->on_command(irccd_, {server_, "destructor!dst@localhost", "#history", "said jean"});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
97
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
98 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
99
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
100 BOOST_REQUIRE_EQUAL(cmd["command"].get<std::string>(), "message");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
101 BOOST_REQUIRE_EQUAL(cmd["target"].get<std::string>(), "#history");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
102 BOOST_REQUIRE(std::regex_match(cmd["message"].get<std::string>(), rule));
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 }
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
104
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
105 BOOST_AUTO_TEST_CASE(format_unknown)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 {
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
107 remove(CMAKE_CURRENT_BINARY_DIR "/unknown.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
108 load({{ "file", CMAKE_CURRENT_BINARY_DIR "/unknown.json" }});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
109
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
110 plugin_->on_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
111 plugin_->on_command(irccd_, {server_, "destructor!dst@localhost", "#history", "seen nobody"});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
112
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
113 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
114
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
115 BOOST_REQUIRE_EQUAL(cmd["command"].get<std::string>(), "message");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
116 BOOST_REQUIRE_EQUAL(cmd["target"].get<std::string>(), "#history");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
117 BOOST_REQUIRE_EQUAL(cmd["message"].get<std::string>(), "unknown=history:!history:test:#history:destructor!dst@localhost:destructor:nobody");
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 }
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
119
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
120 BOOST_AUTO_TEST_CASE(fix_642)
454
8b615d37d303 Fix #642: plugins must be case sensitive
David Demelier <markand@malikania.fr>
parents: 394
diff changeset
121 {
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
122 const std::regex rule("said=history:!history:test:#history:destructor!dst@localhost:destructor:jean:hello:\\d{2}:\\d{2}");
454
8b615d37d303 Fix #642: plugins must be case sensitive
David Demelier <markand@malikania.fr>
parents: 394
diff changeset
123
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
124 remove(CMAKE_CURRENT_BINARY_DIR "/case.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
125 load({{"file", CMAKE_CURRENT_BINARY_DIR "/case.json"}});
454
8b615d37d303 Fix #642: plugins must be case sensitive
David Demelier <markand@malikania.fr>
parents: 394
diff changeset
126
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
127 plugin_->on_message(irccd_, {server_, "JeaN!JeaN@localhost", "#history", "hello"});
454
8b615d37d303 Fix #642: plugins must be case sensitive
David Demelier <markand@malikania.fr>
parents: 394
diff changeset
128
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
129 // Full caps.
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
130 plugin_->on_command(irccd_, {server_, "destructor!dst@localhost", "#HISTORY", "said JEAN"});
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
131
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
132 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
133
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
134 BOOST_REQUIRE_EQUAL(cmd["command"].get<std::string>(), "message");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
135 BOOST_REQUIRE_EQUAL(cmd["target"].get<std::string>(), "#history");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
136 BOOST_REQUIRE(std::regex_match(cmd["message"].get<std::string>(), rule));
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
137
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
138 // Random caps.
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
139 plugin_->on_command(irccd_, {server_, "destructor!dst@localhost", "#HiSToRy", "said JeaN"});
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
140
525
d070d33bf4a0 Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents: 489
diff changeset
141 cmd = server_->cqueue().back();
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
142
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
143 BOOST_REQUIRE_EQUAL(cmd["command"].get<std::string>(), "message");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
144 BOOST_REQUIRE_EQUAL(cmd["target"].get<std::string>(), "#history");
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
145 BOOST_REQUIRE(std::regex_match(cmd["message"].get<std::string>(), rule));
454
8b615d37d303 Fix #642: plugins must be case sensitive
David Demelier <markand@malikania.fr>
parents: 394
diff changeset
146 }
8b615d37d303 Fix #642: plugins must be case sensitive
David Demelier <markand@malikania.fr>
parents: 394
diff changeset
147
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
148 BOOST_AUTO_TEST_SUITE_END()
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
149
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
150 } // !irccd