X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fsrt_subtitle_test.cc;h=63d508b7654ba4093c6492261dd1bada2b98ebae;hb=f4fda1d705adfca0b7c8d3748c0c9df8e9da51bc;hp=7caef52451b09d9ca03f5e5f5d4a14b6971bbd0c;hpb=efb1172f51bbe15cd1f90b25a032bbe858453f5f;p=dcpomatic.git diff --git a/test/srt_subtitle_test.cc b/test/srt_subtitle_test.cc index 7caef5245..63d508b76 100644 --- a/test/srt_subtitle_test.cc +++ b/test/srt_subtitle_test.cc @@ -25,24 +25,24 @@ */ -#include "lib/film.h" -#include "lib/string_text_file_content.h" #include "lib/dcp_content_type.h" +#include "lib/film.h" #include "lib/font.h" #include "lib/ratio.h" +#include "lib/string_text_file_content.h" #include "lib/text_content.h" #include "test.h" #include #include -#include #include +#include #include -using std::string; using std::list; -using std::shared_ptr; using std::make_shared; +using std::shared_ptr; +using std::string; using namespace dcpomatic; @@ -248,6 +248,30 @@ BOOST_AUTO_TEST_CASE(srt_subtitle_entity) } +/** A control code in a .srt file should not make it into the XML */ +BOOST_AUTO_TEST_CASE(srt_subtitle_control_code) +{ + std::ofstream srt("build/test/srt_subtitle_control_code.srt"); + srt << "1\n"; + srt << "00:00:01,000 -> 00:00:10,000\n"; + srt << "Hello \x0c world\n"; + srt.close(); + + auto content = make_shared("build/test/srt_subtitle_control_code.srt"); + auto film = new_test_film2("srt_subtitle_control_code", { content }); + film->set_interop(false); + content->only_text()->set_use(true); + content->only_text()->set_burn(false); + make_and_verify_dcp ( + film, + { + dcp::VerificationNote::Code::MISSING_SUBTITLE_LANGUAGE, + dcp::VerificationNote::Code::INVALID_SUBTITLE_FIRST_TEXT_TIME, + dcp::VerificationNote::Code::MISSING_CPL_METADATA, + }); +} + + #if 0 /* XXX: this is disabled; there is some difference in font rendering between the test machine and others.