From: Carl Hetherington Date: Sun, 28 Aug 2022 23:31:17 +0000 (+0200) Subject: Fix and test release notes. X-Git-Tag: v2.16.22 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=3832ad01efbca3c89d29d23a988f7ed6681bb0b2 Fix and test release notes. --- diff --git a/src/lib/release_notes.cc b/src/lib/release_notes.cc index face4df2c..236713184 100644 --- a/src/lib/release_notes.cc +++ b/src/lib/release_notes.cc @@ -45,7 +45,7 @@ find_release_notes(optional current) const string header = String::compose("

DCP-o-matic %1 release notes

", *current); - if (*current == "2.16.18") { + if (!last) { return header + _("In this version there are changes to the way that subtitles are positioned. " "Positioning should now be more correct, with respect to the standards, but you " diff --git a/test/release_notes_test.cc b/test/release_notes_test.cc new file mode 100644 index 000000000..394de5959 --- /dev/null +++ b/test/release_notes_test.cc @@ -0,0 +1,49 @@ +/* + Copyright (C) 2022 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + + +#include "lib/config.h" +#include "lib/release_notes.h" +#include + + +using std::string; + + +// If we have no previous version we're on something before 2.16.19 so we want the release notes +BOOST_AUTO_TEST_CASE(release_notes_test1) +{ + for (auto version: { "2.16.19", "2.16.20", "2.18.0", "2.18.1devel6" }) { + Config::instance()->unset_last_release_notes_version(); + auto notes = find_release_notes(string(version)); + BOOST_CHECK(notes.get_value_or("").find("In this version there are changes to the way that subtitles are positioned.") != string::npos); + } +} + + +// Once we're running 2.16.19 we have no more release notes (for now, at least) +BOOST_AUTO_TEST_CASE(release_notes_test2) +{ + for (auto version: { "2.16.19", "2.16.20", "2.18.0", "2.18.1devel6" }) { + Config::instance()->set_last_release_notes_version("2.16.19"); + auto notes = find_release_notes(string(version)); + BOOST_CHECK(!static_cast(notes)); + } +} diff --git a/test/wscript b/test/wscript index 0bcecad0c..9cf13dea5 100644 --- a/test/wscript +++ b/test/wscript @@ -115,6 +115,7 @@ def build(bld): player_test.cc pulldown_detect_test.cc ratio_test.cc + release_notes_test.cc repeat_frame_test.cc recover_test.cc rect_test.cc