summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2026-02-09 23:34:03 +0100
committerCarl Hetherington <cth@carlh.net>2026-02-09 23:34:03 +0100
commit95230fe5db8aeda47aca18f613bd4309a17ee427 (patch)
tree355691323d33ee77884b009046277a4d8740e19c /test
parent8fddf6164257d8776315d8d8b4568a23ed94babb (diff)
Copy some more metadata from DCP into the film when requested.
Diffstat (limited to 'test')
-rw-r--r--test/copy_dcp_details_to_film_test.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/copy_dcp_details_to_film_test.cc b/test/copy_dcp_details_to_film_test.cc
index a46a03d0c..0c3ccc17f 100644
--- a/test/copy_dcp_details_to_film_test.cc
+++ b/test/copy_dcp_details_to_film_test.cc
@@ -30,6 +30,7 @@
using std::make_shared;
using std::shared_ptr;
+using std::string;
using std::vector;
@@ -75,3 +76,30 @@ BOOST_AUTO_TEST_CASE(test_copy_dcp_markers_to_film)
}
+BOOST_AUTO_TEST_CASE(copy_metadata_to_film)
+{
+ auto picture = content_factory("test/data/flat_red.png")[0];
+ auto sound = content_factory("test/data/sine_440.wav")[0];
+ auto film1 = new_test_film("copy_metadata_to_film", { picture, sound });
+ film1->set_chain(string{"Carl's Cinemas"});
+ film1->set_distributor(string{"IPoAC Film Distribution"});
+ film1->set_facility(string{"Hand-Rolled JPEG2000 Mastering"});
+ film1->set_luminance(dcp::Luminance(9, dcp::Luminance::Unit::FOOT_LAMBERT));
+ make_and_verify_dcp(
+ film1,
+ {
+ dcp::VerificationNote::Code::MISSING_CPL_METADATA
+ });
+
+ auto dcp = make_shared<DCPContent>(film1->dir(film1->dcp_name()));
+ auto film2 = new_test_film("copy_metadata_to_film2", { dcp });
+ copy_dcp_settings_to_film(dcp, film2);
+ film2->write_metadata();
+
+ BOOST_CHECK_EQUAL(film2->chain().get_value_or(""), "Carl's Cinemas");
+ BOOST_CHECK_EQUAL(film2->distributor().get_value_or(""), "IPoAC Film Distribution");
+ BOOST_CHECK_EQUAL(film2->facility().get_value_or(""), "Hand-Rolled JPEG2000 Mastering");
+ BOOST_CHECK(film2->luminance());
+ BOOST_CHECK(film2->luminance() == dcp::Luminance(9, dcp::Luminance::Unit::FOOT_LAMBERT));
+}
+