X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fssa_subtitle_test.cc;h=8132ba3a0db3aab1283030eaac3c9b3b4034ca2d;hb=ce73eaf7875a9a3326afcd839ad85eb95879c160;hp=c61d34b7149f2c7cbd44054fd87b62752ed1345c;hpb=6cc7359c1af897f334dab5ba455707ce0c59af9d;p=dcpomatic.git diff --git a/test/ssa_subtitle_test.cc b/test/ssa_subtitle_test.cc index c61d34b71..8132ba3a0 100644 --- a/test/ssa_subtitle_test.cc +++ b/test/ssa_subtitle_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2016 Carl Hetherington + Copyright (C) 2016-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,47 +18,59 @@ */ + /** @file test/ssa_subtitle_test.cc * @brief Test use of SSA subtitle files. - * @ingroup specific + * @ingroup feature */ -#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 -using std::string; + using std::list; -using boost::shared_ptr; +using std::make_shared; +using std::string; + /** Make a DCP with subs from a .ssa file */ BOOST_AUTO_TEST_CASE (ssa_subtitle_test1) { - shared_ptr film = new_test_film ("ssa_subtitle_test1"); + Cleanup cl; + + auto film = new_test_film2 ("ssa_subtitle_test1", {}, &cl); film->set_container (Ratio::from_id ("185")); - film->set_dcp_content_type (DCPContentType::from_isdcf_name ("TLR")); film->set_name ("frobozz"); film->set_interop (true); - shared_ptr content (new StringTextFileContent(private_data / "DKH_UT_EN20160601def.ssa")); + auto content = make_shared(TestPaths::private_data() / "DKH_UT_EN20160601def.ssa"); film->examine_and_add_content (content); BOOST_REQUIRE (!wait_for_jobs()); content->only_text()->set_use (true); content->only_text()->set_burn (false); - film->make_dcp (); - BOOST_REQUIRE (!wait_for_jobs()); + make_and_verify_dcp (film, { dcp::VerificationNote::Code::INVALID_STANDARD }); + + auto ref = make_shared(TestPaths::private_data() / "DKH_UT_EN20160601def.xml"); + auto check = make_shared(subtitle_file(film)); + + dcp::EqualityOptions options; + options.max_subtitle_vertical_position_error = 0.1; + BOOST_CHECK(ref->equals(check, options, [](dcp::NoteType t, string n) { + if (t == dcp::NoteType::ERROR) { + std::cerr << n << "\n"; + } + })); - /* Find the subtitle file and check it */ - list ignore; - ignore.push_back ("SubtitleID"); - check_xml (subtitle_file(film), private_data / "DKH_UT_EN20160601def.xml", ignore); + cl.run (); }