From 35dfc1d705561fc41737a076b92fbb03a432b38d Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 4 Nov 2025 21:03:36 +0100 Subject: Re-examine files created before we stopped auto-generating stream IDs. --- test/data | 2 +- test/film_metadata_test.cc | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/data b/test/data index 9428f5618..7bc927ee1 160000 --- a/test/data +++ b/test/data @@ -1 +1 @@ -Subproject commit 9428f56181723c56917a901780d8e2c4b486b396 +Subproject commit 7bc927ee1c828ce5f6f8e376176c8a44f193ed1e diff --git a/test/film_metadata_test.cc b/test/film_metadata_test.cc index 600dbf56d..2592938a7 100644 --- a/test/film_metadata_test.cc +++ b/test/film_metadata_test.cc @@ -25,11 +25,15 @@ */ +#include "lib/check_content_job.h" #include "lib/content.h" #include "lib/content_factory.h" #include "lib/dcp_content.h" #include "lib/dcp_content_type.h" +#include "lib/image.h" #include "lib/film.h" +#include "lib/job_manager.h" +#include "lib/player.h" #include "lib/ratio.h" #include "lib/text_content.h" #include "lib/video_content.h" @@ -236,3 +240,24 @@ BOOST_AUTO_TEST_CASE(effect_node_not_inserted_incorrectly) BOOST_CHECK(!doc.node_child("Playlist")->node_child("Content")->node_child("Text")->optional_node_child("Effect")); } + +BOOST_AUTO_TEST_CASE(can_load_film_with_now_invalid_stream_ids) +{ + auto const name = std::string{"can_load_film_with_now_invalid_stream_ids"}; + auto film = new_test_film(name); + boost::filesystem::remove(film->file("metadata.xml")); + boost::filesystem::copy_file(boost::filesystem::path("test/data") / (name + ".xml"), film->file("metadata.xml")); + { + Editor editor(film->file("metadata.xml")); + auto const replace = boost::filesystem::current_path() / boost::filesystem::path("test") / "data" / "phil.mkv"; + editor.replace("phil.mkv", replace.string()); + } + film->read_metadata(); + + auto player = make_shared(film, Image::Alignment::COMPACT, true); + + auto check = make_shared(film); + JobManager::instance()->add(make_shared(film)); + BOOST_CHECK(!wait_for_jobs()); +} + -- cgit v1.2.3