- wait_for_jobs ();
-
- content->subtitle->set_use (true);
- content->subtitle->set_burn (false);
-
- film->make_dcp ();
- wait_for_jobs ();
-
- /* Find the subtitle file and check it */
- for (
- boost::filesystem::directory_iterator i = boost::filesystem::directory_iterator (film->directory().get() / 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<string> ignore;
- ignore.push_back ("SubtitleID");
- check_xml (*j, private_data / "DKH_UT_EN20160601def.xml", ignore);
- }
- }
+ BOOST_REQUIRE (!wait_for_jobs());
+
+ content->only_text()->set_use (true);
+ content->only_text()->set_burn (false);
+
+ make_and_verify_dcp (film, { dcp::VerificationNote::Code::INVALID_STANDARD });
+
+ auto ref = make_shared<dcp::InteropSubtitleAsset>(TestPaths::private_data() / "DKH_UT_EN20160601def.xml");
+ auto check = make_shared<dcp::InteropSubtitleAsset>(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";