From: Carl Hetherington Date: Mon, 15 Mar 2021 18:21:42 +0000 (+0100) Subject: Add failing test for #1918. X-Git-Tag: v2.15.136~23 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=a8f48589d3eaec9de5bfd34f45410f88ab836363 Add failing test for #1918. --- diff --git a/test/data b/test/data index c9df3856b..c488ee62e 160000 --- a/test/data +++ b/test/data @@ -1 +1 @@ -Subproject commit c9df3856b3022e9cc7e052cda2b2de9db186ec93 +Subproject commit c488ee62e04b03b915dac49a258bd13d64f281e4 diff --git a/test/subtitle_reel_test.cc b/test/subtitle_reel_test.cc index e56f9664a..d75c8af1a 100644 --- a/test/subtitle_reel_test.cc +++ b/test/subtitle_reel_test.cc @@ -190,3 +190,42 @@ BOOST_AUTO_TEST_CASE (closed_captions_in_all_reels_test) ); } } + + +BOOST_AUTO_TEST_CASE (subtitles_split_at_reel_boundaries) +{ + auto film = new_test_film2 ("subtitles_split_at_reel_boundaries"); + film->set_interop (true); + + film->set_sequence (false); + film->set_reel_type (ReelType::BY_VIDEO_CONTENT); + + for (int i = 0; i < 3; ++i) { + auto video = content_factory("test/data/flat_red.png").front(); + film->examine_and_add_content (video); + BOOST_REQUIRE (!wait_for_jobs()); + video->video->set_length (15 * 24); + video->set_position (film, dcpomatic::DCPTime::from_seconds(15 * i)); + } + + auto subtitle = content_factory("test/data/45s.srt").front(); + film->examine_and_add_content (subtitle); + BOOST_REQUIRE (!wait_for_jobs()); + + make_and_verify_dcp (film, {{ dcp::VerificationNote::Code::INVALID_STANDARD }}); + + dcp::DCP dcp (film->dir(film->dcp_name())); + dcp.read(); + BOOST_REQUIRE_EQUAL (dcp.cpls().size(), 1); + auto cpl = dcp.cpls()[0]; + BOOST_REQUIRE_EQUAL (cpl->reels().size(), 3); + + for (auto i: cpl->reels()) { + auto reel_sub = i->main_subtitle(); + BOOST_REQUIRE (reel_sub); + auto sub = reel_sub->asset(); + BOOST_REQUIRE (sub); + BOOST_CHECK_EQUAL (sub->subtitles().size(), 1); + } +} +