Mercurial > irccd
diff tests/src/irccdctl/cli-server-nick/main.cpp @ 771:aa231a1bf3b7
Irccd: server::set_nickname is no longer virtual
Instead, it calls send() or just update nickname depending on the connection
state.
Also make state_ variable protected to allow derived objects modifying it.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 13 Aug 2018 21:32:00 +0200 |
parents | 445c071e8efb |
children | 8c44bbcbbab9 |
line wrap: on
line diff
--- a/tests/src/irccdctl/cli-server-nick/main.cpp Mon Aug 13 20:15:00 2018 +0200 +++ b/tests/src/irccdctl/cli-server-nick/main.cpp Mon Aug 13 21:32:00 2018 +0200 @@ -29,15 +29,41 @@ BOOST_FIXTURE_TEST_SUITE(server_nick_suite, cli_fixture) -BOOST_AUTO_TEST_CASE(basic) +BOOST_AUTO_TEST_CASE(not_connected) { start(); - /* - * TODO: we will make server::set_nickname call raw() instead of being - * virtual. - */ + server_->disconnect(); + + const auto [code, out, err] = exec({ "server-nick", "test", "new" }); + + BOOST_TEST(!code); + BOOST_TEST(out.size() == 0U); + BOOST_TEST(err.size() == 0U); + + const auto cmd = server_->find("raw"); + + BOOST_TEST(cmd.size() == 0U); + BOOST_TEST(server_->get_nickname() == "new"); } +BOOST_AUTO_TEST_CASE(connected) +{ + start(); + server_->connect([] (auto) {}); + + const auto [code, out, err] = exec({ "server-nick", "test", "new" }); + + BOOST_TEST(!code); + BOOST_TEST(out.size() == 0U); + BOOST_TEST(err.size() == 0U); + + const auto cmd = server_->find("send"); + + BOOST_TEST(cmd.size() == 1U); + BOOST_TEST(std::any_cast<std::string>(cmd[0][0]) == "NICK new"); +} + + BOOST_AUTO_TEST_SUITE(errors) BOOST_AUTO_TEST_CASE(invalid_identifier_1)