Mercurial > irccd
comparison tests/src/libirccd-js/js-plugin/main.cpp @ 722:3e816cebed2c
Irccd: make plugin pure abstract, closes #796 @3h
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 16 Jul 2018 21:19:47 +0200 |
parents | 2838134d69bf |
children | e8c4ba5ed1c6 |
comparison
equal
deleted
inserted
replaced
721:2fa1f2c898ee | 722:3e816cebed2c |
---|---|
33 protected: | 33 protected: |
34 boost::asio::io_service service_; | 34 boost::asio::io_service service_; |
35 irccd irccd_{service_}; | 35 irccd irccd_{service_}; |
36 std::shared_ptr<js_plugin> plugin_; | 36 std::shared_ptr<js_plugin> plugin_; |
37 | 37 |
38 void load(std::string name, std::string path) | 38 void load(std::string path) |
39 { | 39 { |
40 plugin_ = std::make_unique<js_plugin>(std::move(name), std::move(path)); | 40 plugin_ = std::make_unique<js_plugin>(std::move(path)); |
41 | 41 |
42 irccd_jsapi().load(irccd_, plugin_); | 42 irccd_jsapi().load(irccd_, plugin_); |
43 plugin_jsapi().load(irccd_, plugin_); | 43 plugin_jsapi().load(irccd_, plugin_); |
44 | 44 |
45 plugin_->open(); | 45 plugin_->open(); |
48 | 48 |
49 BOOST_FIXTURE_TEST_SUITE(js_plugin_test_suite, js_plugin_test) | 49 BOOST_FIXTURE_TEST_SUITE(js_plugin_test_suite, js_plugin_test) |
50 | 50 |
51 BOOST_AUTO_TEST_CASE(assign) | 51 BOOST_AUTO_TEST_CASE(assign) |
52 { | 52 { |
53 load("test", CMAKE_CURRENT_SOURCE_DIR "/config-assign.js"); | 53 load(CMAKE_CURRENT_SOURCE_DIR "/config-assign.js"); |
54 | 54 |
55 plugin_->set_config({ | 55 plugin_->set_options({ |
56 { "path", "none" }, | 56 { "path", "none" }, |
57 { "verbose", "false" } | 57 { "verbose", "false" } |
58 }); | 58 }); |
59 plugin_->handle_load(irccd_); | 59 plugin_->handle_load(irccd_); |
60 | 60 |
61 BOOST_TEST(plugin_->get_config().at("path") == "none"); | 61 BOOST_TEST(plugin_->get_options().at("path") == "none"); |
62 BOOST_TEST(plugin_->get_config().at("verbose") == "false"); | 62 BOOST_TEST(plugin_->get_options().at("verbose") == "false"); |
63 BOOST_TEST(plugin_->get_config().at("hard") == "true"); | 63 BOOST_TEST(plugin_->get_options().at("hard") == "true"); |
64 } | 64 } |
65 | 65 |
66 BOOST_AUTO_TEST_CASE(fill) | 66 BOOST_AUTO_TEST_CASE(fill) |
67 { | 67 { |
68 load("test", CMAKE_CURRENT_SOURCE_DIR "/config-fill.js"); | 68 load(CMAKE_CURRENT_SOURCE_DIR "/config-fill.js"); |
69 | 69 |
70 plugin_->set_config({ | 70 plugin_->set_options({ |
71 { "path", "none" }, | 71 { "path", "none" }, |
72 { "verbose", "false" } | 72 { "verbose", "false" } |
73 }); | 73 }); |
74 plugin_->handle_load(irccd_); | 74 plugin_->handle_load(irccd_); |
75 | 75 |
76 BOOST_TEST(plugin_->get_config().at("path") == "none"); | 76 BOOST_TEST(plugin_->get_options().at("path") == "none"); |
77 BOOST_TEST(plugin_->get_config().at("verbose") == "false"); | 77 BOOST_TEST(plugin_->get_options().at("verbose") == "false"); |
78 BOOST_TEST(plugin_->get_config().at("hard") == "true"); | 78 BOOST_TEST(plugin_->get_options().at("hard") == "true"); |
79 } | 79 } |
80 | 80 |
81 BOOST_AUTO_TEST_CASE(merge_after) | 81 BOOST_AUTO_TEST_CASE(merge_after) |
82 { | 82 { |
83 load("test", CMAKE_CURRENT_SOURCE_DIR "/config-fill.js"); | 83 load(CMAKE_CURRENT_SOURCE_DIR "/config-fill.js"); |
84 | 84 |
85 plugin_->handle_load(irccd_); | 85 plugin_->handle_load(irccd_); |
86 plugin_->set_config({ | 86 plugin_->set_options({ |
87 { "path", "none" }, | 87 { "path", "none" }, |
88 { "verbose", "false" } | 88 { "verbose", "false" } |
89 }); | 89 }); |
90 | 90 |
91 BOOST_TEST(plugin_->get_config().at("path") == "none"); | 91 BOOST_TEST(plugin_->get_options().at("path") == "none"); |
92 BOOST_TEST(plugin_->get_config().at("verbose") == "false"); | 92 BOOST_TEST(plugin_->get_options().at("verbose") == "false"); |
93 BOOST_TEST(plugin_->get_config().at("hard") == "true"); | 93 BOOST_TEST(plugin_->get_options().at("hard") == "true"); |
94 } | 94 } |
95 | 95 |
96 BOOST_AUTO_TEST_SUITE_END() | 96 BOOST_AUTO_TEST_SUITE_END() |
97 | 97 |
98 class js_plugin_loader_test { | 98 class js_plugin_loader_test { |
124 | 124 |
125 BOOST_AUTO_TEST_CASE(assign) | 125 BOOST_AUTO_TEST_CASE(assign) |
126 { | 126 { |
127 load("test", CMAKE_CURRENT_SOURCE_DIR "/config-assign.js"); | 127 load("test", CMAKE_CURRENT_SOURCE_DIR "/config-assign.js"); |
128 | 128 |
129 BOOST_TEST(plugin_->get_config().at("path") == "none"); | 129 BOOST_TEST(plugin_->get_options().at("path") == "none"); |
130 BOOST_TEST(plugin_->get_config().at("verbose") == "false"); | 130 BOOST_TEST(plugin_->get_options().at("verbose") == "false"); |
131 BOOST_TEST(plugin_->get_config().at("hard") == "true"); | 131 BOOST_TEST(plugin_->get_options().at("hard") == "true"); |
132 } | 132 } |
133 | 133 |
134 BOOST_AUTO_TEST_CASE(fill) | 134 BOOST_AUTO_TEST_CASE(fill) |
135 { | 135 { |
136 load("test", CMAKE_CURRENT_SOURCE_DIR "/config-fill.js"); | 136 load("test", CMAKE_CURRENT_SOURCE_DIR "/config-fill.js"); |
137 | 137 |
138 BOOST_TEST(plugin_->get_config().at("path") == "none"); | 138 BOOST_TEST(plugin_->get_options().at("path") == "none"); |
139 BOOST_TEST(plugin_->get_config().at("verbose") == "false"); | 139 BOOST_TEST(plugin_->get_options().at("verbose") == "false"); |
140 BOOST_TEST(plugin_->get_config().at("hard") == "true"); | 140 BOOST_TEST(plugin_->get_options().at("hard") == "true"); |
141 } | 141 } |
142 | 142 |
143 BOOST_AUTO_TEST_CASE(merge_after) | 143 BOOST_AUTO_TEST_CASE(merge_after) |
144 { | 144 { |
145 load("test", CMAKE_CURRENT_SOURCE_DIR "/config-fill.js"); | 145 load("test", CMAKE_CURRENT_SOURCE_DIR "/config-fill.js"); |
146 | 146 |
147 BOOST_TEST(plugin_->get_config().at("path") == "none"); | 147 BOOST_TEST(plugin_->get_options().at("path") == "none"); |
148 BOOST_TEST(plugin_->get_config().at("verbose") == "false"); | 148 BOOST_TEST(plugin_->get_options().at("verbose") == "false"); |
149 BOOST_TEST(plugin_->get_config().at("hard") == "true"); | 149 BOOST_TEST(plugin_->get_options().at("hard") == "true"); |
150 } | 150 } |
151 | 151 |
152 BOOST_AUTO_TEST_SUITE_END() | 152 BOOST_AUTO_TEST_SUITE_END() |
153 | 153 |
154 } // !irccd | 154 } // !irccd |