diff options
author | louiz’ <louiz@louiz.org> | 2017-07-20 21:28:18 +0200 |
---|---|---|
committer | louiz’ <louiz@louiz.org> | 2017-07-20 21:28:18 +0200 |
commit | 24f2511d7ba105d65c9684dd5606a57c5af95445 (patch) | |
tree | 9744d49e3c79687119de1bfde98da137a9d6d3d9 | |
parent | ffb402f0adb9f808c7b8bc9616e71f7b3f8931ac (diff) | |
download | biboumi-24f2511d7ba105d65c9684dd5606a57c5af95445.tar.gz biboumi-24f2511d7ba105d65c9684dd5606a57c5af95445.tar.bz2 biboumi-24f2511d7ba105d65c9684dd5606a57c5af95445.tar.xz biboumi-24f2511d7ba105d65c9684dd5606a57c5af95445.zip |
In fixed mode, fix the iid type of the component JID
-rw-r--r-- | src/irc/iid.cpp | 3 | ||||
-rw-r--r-- | tests/iid.cpp | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/irc/iid.cpp b/src/irc/iid.cpp index a63a1c3..131c18c 100644 --- a/src/irc/iid.cpp +++ b/src/irc/iid.cpp @@ -35,7 +35,8 @@ Iid::Iid(const std::string& iid, const Bridge *bridge) void Iid::set_type(const std::set<char>& chantypes) { - if (this->local.empty() && this->server.empty()) + if (this->local.empty() && ( + !Config::get("fixed_irc_server", "").empty() || this->server.empty())) this->type = Iid::Type::None; if (this->local.empty()) return; diff --git a/tests/iid.cpp b/tests/iid.cpp index 3da0396..63b2ba3 100644 --- a/tests/iid.cpp +++ b/tests/iid.cpp @@ -125,4 +125,10 @@ TEST_CASE("Iid creation in fixed_server mode") CHECK(iid6.get_local() == "##channel%"); CHECK(iid6.get_server() == "fixed.example.com"); CHECK(iid6.type == Iid::Type::Channel); + + Iid iid7("", chantypes); + CHECK(std::to_string(iid7) == ""); + CHECK(iid7.get_local() == ""); + CHECK(iid7.get_server() == "fixed.example.com"); + CHECK(iid7.type == Iid::Type::None); } |