X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=test%2Fssa_subtitle_test.cc;h=5c2e61b7e41d74602209432e0f6e9017d6fdf33b;hp=0bfa39e747487416babc67c8f221335ff5d47468;hb=6d686ea45f5cd01a0d11f92a903ac77779ad8562;hpb=5a5324ed3a381a86dfe0a6e3932c1d58fdcd596f diff --git a/test/ssa_subtitle_test.cc b/test/ssa_subtitle_test.cc index 0bfa39e74..5c2e61b7e 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,60 +18,51 @@ */ + +/** @file test/ssa_subtitle_test.cc + * @brief Test use of SSA subtitle files. + * @ingroup feature + */ + + #include "lib/film.h" -#include "lib/text_subtitle_content.h" +#include "lib/string_text_file_content.h" #include "lib/dcp_content_type.h" #include "lib/font.h" #include "lib/ratio.h" -#include "lib/subtitle_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 boost::make_shared; +using std::shared_ptr; +using std::make_shared; + /** 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 = make_shared (film, private_data / "DKH_UT_EN20160601def.ssa"); + auto content = make_shared(TestPaths::private_data() / "DKH_UT_EN20160601def.ssa"); film->examine_and_add_content (content); - wait_for_jobs (); + BOOST_REQUIRE (!wait_for_jobs()); - content->subtitle->set_use (true); - content->subtitle->set_burn (false); + content->only_text()->set_use (true); + content->only_text()->set_burn (false); - film->make_dcp (); - wait_for_jobs (); + make_and_verify_dcp (film, { dcp::VerificationNote::Code::INVALID_STANDARD }); /* Find the subtitle file and check it */ - for ( - boost::filesystem::directory_iterator i = boost::filesystem::directory_iterator (film->directory() / film->dcp_name (false)); - i != boost::filesystem::directory_iterator (); - ++i) { - - if (boost::filesystem::is_directory (i->path ())) { - for ( - boost::filesystem::directory_iterator j = boost::filesystem::directory_iterator (i->path ()); - j != boost::filesystem::directory_iterator (); - ++j) { - - if (boost::algorithm::starts_with (j->path().leaf().string(), "sub_")) { - list ignore; - ignore.push_back ("SubtitleID"); - check_xml (*j, private_data / "DKH_UT_EN20160601def.xml", ignore); - } - } - } - } + check_xml (subtitle_file(film), TestPaths::private_data() / "DKH_UT_EN20160601def.xml", {"SubtitleID"}); + + cl.run (); }