diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-01-15 23:13:49 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-01-15 23:14:00 +0100 |
| commit | 4c0e03e857066a8241bfb286412f76a8c52d2760 (patch) | |
| tree | 3dd738b666d0b7118f225981d76a66f70620cf46 /test | |
| parent | 7b6965584cd81ee0406901d84b769946483a85b6 (diff) | |
Check that Interop subtitle files have at least one subtitle.
It was reported on the forum that files without any <Font> or
<Subtitle> tags fail validation on EasyDCP 3.0.1 and crash
Qubemaster Pro 3.0.15.
Diffstat (limited to 'test')
| -rw-r--r-- | test/data/subs4.xml | 8 | ||||
| -rw-r--r-- | test/verify_test.cc | 19 |
2 files changed, 27 insertions, 0 deletions
diff --git a/test/data/subs4.xml b/test/data/subs4.xml new file mode 100644 index 00000000..5aea4c10 --- /dev/null +++ b/test/data/subs4.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<DCSubtitle Version="1.0"> + <SubtitleID>cab5c268-222b-41d2-88ae-6d6999441b17</SubtitleID> + <MovieTitle>Movie Title</MovieTitle> + <ReelNumber>1</ReelNumber> + <Language>French</Language> + <LoadFont Id="theFontId" URI="arial.ttf"/> +</DCSubtitle> diff --git a/test/verify_test.cc b/test/verify_test.cc index 652bf12d..34dc79bc 100644 --- a/test/verify_test.cc +++ b/test/verify_test.cc @@ -806,6 +806,25 @@ BOOST_AUTO_TEST_CASE (verify_invalid_interop_subtitles) } +BOOST_AUTO_TEST_CASE(verify_interop_subtitle_asset_with_no_subtitles) +{ + path const dir("build/test/verify_interop_subtitle_asset_with_no_subtitles"); + prepare_directory(dir); + copy_file("test/data/subs4.xml", dir / "subs.xml"); + auto asset = make_shared<dcp::InteropSubtitleAsset>(dir / "subs.xml"); + auto reel_asset = make_shared<dcp::ReelInteropSubtitleAsset>(asset, dcp::Fraction(24, 1), 16 * 24, 0); + write_dcp_with_single_asset(dir, reel_asset, dcp::Standard::INTEROP); + + check_verify_result ( + { dir }, + { + { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::INVALID_STANDARD }, + { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::MISSING_SUBTITLE, asset->id(), boost::filesystem::canonical(asset->file().get()) }, + }); + +} + + BOOST_AUTO_TEST_CASE (verify_valid_smpte_subtitles) { path const dir("build/test/verify_valid_smpte_subtitles"); |
