annotate tests/src/plugins/history/main.cpp @ 611:9fbd1700435b

Tests: reoganize hierarchy
author David Demelier <markand@malikania.fr>
date Fri, 15 Dec 2017 15:37:58 +0100
parents tests/src/plugin-history/main.cpp@9d4da384f5d6
children 27587ff92a64
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
596
35832b7f4f9d Irccd: move files to daemon folder, closes #731
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
24 #include <irccd/daemon/irccd.hpp>
35832b7f4f9d Irccd: move files to daemon folder, closes #731
David Demelier <markand@malikania.fr>
parents: 581
diff changeset
25 #include <irccd/daemon/server.hpp>
350
287e9ede5eef Tests: unbreak some
David Demelier <markand@malikania.fr>
parents: 250
diff changeset
26
604
9d4da384f5d6 Tests: move libirccd-test to test/ folder, closes #750
David Demelier <markand@malikania.fr>
parents: 596
diff changeset
27 #include <irccd/test/plugin_test.hpp>
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
29 namespace irccd {
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
30
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
31 class history_test : public plugin_test {
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 public:
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
33 history_test()
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
34 : plugin_test(PLUGIN_NAME, PLUGIN_PATH)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
35 {
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
36 plugin_->set_formats({
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
37 { "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
38 { "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
39 { "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
40 { "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
41 });
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
42 }
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
44 void load(plugin_config config = {})
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
45 {
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
46 // Add file if not there.
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
47 if (config.count("file") == 0)
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
48 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
49
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
50 plugin_->set_config(config);
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
51 plugin_->on_load(irccd_);
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
52 }
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 };
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
54
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
55 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
56
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
57 BOOST_AUTO_TEST_CASE(format_error)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 {
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
59 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
60
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
61 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
62
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
63 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
64
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
65 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
66 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
67 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
68 }
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
69
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
70 BOOST_AUTO_TEST_CASE(format_seen)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 {
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
72 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
73
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
74 remove(CMAKE_CURRENT_BINARY_DIR "/seen.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
75 load({{ "file", CMAKE_CURRENT_BINARY_DIR "/seen.json" }});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
76
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
77 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
78 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
79
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
80 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
81
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
82 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
83 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
84 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
85 }
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
86
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
87 BOOST_AUTO_TEST_CASE(format_said)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 {
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
89 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
90
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
91 remove(CMAKE_CURRENT_BINARY_DIR "/said.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
92 load({{ "file", CMAKE_CURRENT_BINARY_DIR "/said.json" }});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
93
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
94 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
95 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
96
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
97 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
98
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
99 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
100 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
101 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
102 }
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
103
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
104 BOOST_AUTO_TEST_CASE(format_unknown)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 {
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
106 remove(CMAKE_CURRENT_BINARY_DIR "/unknown.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
107 load({{ "file", CMAKE_CURRENT_BINARY_DIR "/unknown.json" }});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
108
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
109 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
110 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
111
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
112 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
113
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
114 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
115 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
116 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
117 }
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
118
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
119 BOOST_AUTO_TEST_CASE(fix_642)
454
8b615d37d303 Fix #642: plugins must be case sensitive
David Demelier <markand@malikania.fr>
parents: 394
diff changeset
120 {
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
121 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
122
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
123 remove(CMAKE_CURRENT_BINARY_DIR "/case.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
124 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
125
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
126 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
127
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
128 // Full caps.
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
129 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
130
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
131 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
132
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
133 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
134 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
135 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
136
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
137 // Random caps.
488
7e273b7f4f92 Irccd: new coding style, closes #576
David Demelier <markand@malikania.fr>
parents: 487
diff changeset
138 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
139
525
d070d33bf4a0 Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents: 489
diff changeset
140 cmd = server_->cqueue().back();
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
141
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
142 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
143 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
144 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
145 }
8b615d37d303 Fix #642: plugins must be case sensitive
David Demelier <markand@malikania.fr>
parents: 394
diff changeset
146
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
147 BOOST_AUTO_TEST_SUITE_END()
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
148
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
149 } // !irccd