annotate tests/src/plugins/history/main.cpp @ 723:e8c4ba5ed1c6

Tests: put code in anonymous namespaces, closes #889 @10m
author David Demelier <markand@malikania.fr>
date Mon, 16 Jul 2018 21:47:27 +0200
parents 3e816cebed2c
children 64839725f346
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 *
628
27587ff92a64 Misc: update copyrights
David Demelier <markand@malikania.fr>
parents: 611
diff changeset
4 * Copyright (c) 2013-2018 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
723
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 722
diff changeset
31 namespace {
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 722
diff changeset
32
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
33 class history_test : public plugin_test {
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 public:
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
35 history_test()
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
36 : plugin_test(PLUGIN_PATH)
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
37 {
487
beb6c638b841 Tests: create plugin_test fixture, closes #677
David Demelier <markand@malikania.fr>
parents: 486
diff changeset
38 plugin_->set_formats({
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
39 { "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
40 { "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
41 { "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
42 { "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
43 });
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
44 }
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
45
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
46 void load(plugin::map config = {})
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
47 {
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
48 // Add file if not there.
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
49 if (config.count("file") == 0)
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
50 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
51
722
3e816cebed2c Irccd: make plugin pure abstract, closes #796 @3h
David Demelier <markand@malikania.fr>
parents: 636
diff changeset
52 plugin_->set_options(config);
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
53 plugin_->handle_load(irccd_);
207
6635b9187d71 Irccd: switch to 4 spaces indent, #518
David Demelier <markand@malikania.fr>
parents: 195
diff changeset
54 }
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 };
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
56
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
57 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
58
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
59 BOOST_AUTO_TEST_CASE(format_error)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 {
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
61 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
62
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
63 plugin_->handle_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
64
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
65 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
66
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
67 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
68 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
69 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
70 }
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 BOOST_AUTO_TEST_CASE(format_seen)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 {
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
74 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
75
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
76 remove(CMAKE_CURRENT_BINARY_DIR "/seen.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
77 load({{ "file", CMAKE_CURRENT_BINARY_DIR "/seen.json" }});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
78
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
79 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
80 plugin_->handle_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
81
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
82 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
83
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
84 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
85 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
86 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
87 }
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 BOOST_AUTO_TEST_CASE(format_said)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 {
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
91 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
92
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
93 remove(CMAKE_CURRENT_BINARY_DIR "/said.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
94 load({{ "file", CMAKE_CURRENT_BINARY_DIR "/said.json" }});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
95
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
96 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
97 plugin_->handle_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
98
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
99 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
100
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
101 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
102 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
103 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
104 }
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
105
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
106 BOOST_AUTO_TEST_CASE(format_unknown)
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 {
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
108 remove(CMAKE_CURRENT_BINARY_DIR "/unknown.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
109 load({{ "file", CMAKE_CURRENT_BINARY_DIR "/unknown.json" }});
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
110
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
111 plugin_->handle_message(irccd_, {server_, "jean!jean@localhost", "#history", "hello"});
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
112 plugin_->handle_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
113
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
114 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
115
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
116 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
117 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
118 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
119 }
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
120
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
121 BOOST_AUTO_TEST_CASE(fix_642)
454
8b615d37d303 Fix #642: plugins must be case sensitive
David Demelier <markand@malikania.fr>
parents: 394
diff changeset
122 {
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
123 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
124
532
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
125 remove(CMAKE_CURRENT_BINARY_DIR "/case.json");
c59b87f66b67 CMake: share same resources, closes #725
David Demelier <markand@malikania.fr>
parents: 525
diff changeset
126 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
127
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
128 plugin_->handle_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
129
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
130 // Full caps.
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
131 plugin_->handle_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
132
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
133 auto cmd = server_->cqueue().front();
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
134
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
135 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
136 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
137 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
138
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
139 // Random caps.
636
152d20dc0e74 Irccd: rename plugin::on_ to plugin::handle_, closes #769 @10m
David Demelier <markand@malikania.fr>
parents: 628
diff changeset
140 plugin_->handle_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
141
525
d070d33bf4a0 Plugin hangman: finally switch to boost
David Demelier <markand@malikania.fr>
parents: 489
diff changeset
142 cmd = server_->cqueue().back();
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
143
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
144 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
145 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
146 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
147 }
8b615d37d303 Fix #642: plugins must be case sensitive
David Demelier <markand@malikania.fr>
parents: 394
diff changeset
148
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
149 BOOST_AUTO_TEST_SUITE_END()
159
70ed0753ce0d Plugin history: add initial unit test
David Demelier <markand@malikania.fr>
parents:
diff changeset
150
723
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 722
diff changeset
151 } // !namespace
e8c4ba5ed1c6 Tests: put code in anonymous namespaces, closes #889 @10m
David Demelier <markand@malikania.fr>
parents: 722
diff changeset
152
489
349fe29d86d5 Tests: switch to Boost, closes #680
David Demelier <markand@malikania.fr>
parents: 488
diff changeset
153 } // !irccd