From c101041bd73590b52700f9116b62537b72ae3384 Mon Sep 17 00:00:00 2001 From: rr- Date: Thu, 25 Feb 2016 10:06:49 +0100 Subject: [PATCH] StreamTagsHandler: fix done() for ALL_STREAMS --- src/tags_handlers/stream_tags_handler.cc | 4 ++-- tests/tags_handlers/stream_tags_handler_test.cc | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/tags_handlers/stream_tags_handler.cc b/src/tags_handlers/stream_tags_handler.cc index 1374ac0..1b36d71 100644 --- a/src/tags_handlers/stream_tags_handler.cc +++ b/src/tags_handlers/stream_tags_handler.cc @@ -24,7 +24,7 @@ void StreamTagsHandler::list(const int streamno, const Tags &tags) if (!relevant(streamno)) return; list_impl(tags); - work_finished = true; + work_finished = this->streamno != ALL_STREAMS; } bool StreamTagsHandler::edit(const int streamno, Tags &tags) @@ -32,7 +32,7 @@ bool StreamTagsHandler::edit(const int streamno, Tags &tags) if (!relevant(streamno)) return false; const auto ret = edit_impl(tags); - work_finished = true; + work_finished = this->streamno != ALL_STREAMS; return ret; } diff --git a/tests/tags_handlers/stream_tags_handler_test.cc b/tests/tags_handlers/stream_tags_handler_test.cc index 5f8ad5e..7e00062 100644 --- a/tests/tags_handlers/stream_tags_handler_test.cc +++ b/tests/tags_handlers/stream_tags_handler_test.cc @@ -78,9 +78,15 @@ TEST_CASE("Stream-based tags handler test") } SECTION("Any stream") { + Tags dummy_tags; DummyTagsHandler handler(StreamTagsHandler::ALL_STREAMS); REQUIRE(handler.relevant(1)); REQUIRE(handler.relevant(2)); REQUIRE(handler.relevant(3)); + REQUIRE(!handler.done()); + handler.list(1, dummy_tags); + REQUIRE(!handler.done()); + handler.list(2, dummy_tags); + REQUIRE(!handler.done()); } }