StreamTagsHandler: fix done() for ALL_STREAMS

This commit is contained in:
rr-
2016-02-25 10:06:49 +01:00
parent e5e7952b89
commit c101041bd7
2 changed files with 8 additions and 2 deletions

View File

@@ -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;
}

View File

@@ -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());
}
}