X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fdcp_font_test.cc;h=7cb55c463abeed0848ee1f2dd2242a15ac83a123;hb=2cb2078282c8b799d7a0d0016e1518f1a4b55af1;hp=313ff9390b1376dd05597b629e82c47e5c0b0a11;hpb=75faebaf1d74e2b52360905e94e9f5bf31c34124;p=libdcp.git diff --git a/test/dcp_font_test.cc b/test/dcp_font_test.cc index 313ff939..7cb55c46 100644 --- a/test/dcp_font_test.cc +++ b/test/dcp_font_test.cc @@ -31,57 +31,63 @@ files in the program, then also delete it here. */ + +#include "cpl.h" +#include "dcp.h" +#include "file.h" #include "interop_subtitle_asset.h" +#include "reel.h" +#include "reel_interop_subtitle_asset.h" +#include "reel_smpte_subtitle_asset.h" #include "smpte_subtitle_asset.h" -#include "dcp.h" -#include "cpl.h" #include "test.h" -#include "reel.h" #include "util.h" -#include "reel_subtitle_asset.h" #include #include + using std::list; using std::string; -using boost::shared_ptr; -using boost::dynamic_pointer_cast; +using std::shared_ptr; +using std::dynamic_pointer_cast; +using std::make_shared; using boost::shared_array; /** Create a DCP with interop subtitles and check that the font is written and read back correctly */ BOOST_AUTO_TEST_CASE (interop_dcp_font_test) { boost::filesystem::path directory = "build/test/interop_dcp_font_test"; + boost::filesystem::remove_all(directory); dcp::DCP dcp (directory); - shared_ptr subs (new dcp::InteropSubtitleAsset ()); + auto subs = make_shared(); subs->add_font ("theFontId", dcp::ArrayData("test/data/dummy.ttf")); subs->write (directory / "frobozz.xml"); check_file ("test/data/dummy.ttf", "build/test/interop_dcp_font_test/font_0.ttf"); - shared_ptr reel (new dcp::Reel ()); - reel->add (shared_ptr (new dcp::ReelSubtitleAsset (subs, dcp::Fraction (24, 1), 24, 0))); + auto reel = make_shared(); + reel->add (make_shared(subs, dcp::Fraction (24, 1), 24, 0)); - shared_ptr cpl (new dcp::CPL ("", dcp::TRAILER)); + auto cpl = make_shared("", dcp::ContentKind::TRAILER, dcp::Standard::INTEROP); cpl->add (reel); dcp.add (cpl); - dcp.write_xml (dcp::INTEROP); + dcp.write_xml (); dcp::DCP dcp2 (directory); dcp2.read (); - shared_ptr subs2 = dynamic_pointer_cast ( - dcp2.cpls().front()->reels().front()->main_subtitle()->asset_ref().asset() + auto subs2 = dynamic_pointer_cast ( + dcp2.cpls()[0]->reels()[0]->main_subtitle()->asset_ref().asset() ); BOOST_REQUIRE (subs2); - BOOST_REQUIRE_EQUAL (subs2->_fonts.size(), 1); + BOOST_REQUIRE_EQUAL (subs2->_fonts.size(), 1U); - boost::uintmax_t const size = boost::filesystem::file_size ("test/data/dummy.ttf"); - FILE* f = dcp::fopen_boost ("test/data/dummy.ttf", "rb"); + auto const size = boost::filesystem::file_size ("test/data/dummy.ttf"); + dcp::File f("test/data/dummy.ttf", "rb"); BOOST_REQUIRE (f); shared_array ref (new uint8_t[size]); - fread (ref.get(), 1, size, f); - fclose (f); + f.read(ref.get(), 1, size); + f.close(); BOOST_CHECK_EQUAL (memcmp (subs2->_fonts.front().data.data(), ref.get(), size), 0); } @@ -92,33 +98,33 @@ BOOST_AUTO_TEST_CASE (smpte_dcp_font_test) boost::filesystem::path directory = "build/test/smpte_dcp_font_test"; dcp::DCP dcp (directory); - shared_ptr subs (new dcp::SMPTESubtitleAsset ()); + auto subs = make_shared(); subs->add_font ("theFontId", dcp::ArrayData("test/data/dummy.ttf")); subs->write (directory / "frobozz.mxf"); - shared_ptr reel (new dcp::Reel ()); - reel->add (shared_ptr (new dcp::ReelSubtitleAsset (subs, dcp::Fraction (24, 1), 24, 0))); + auto reel = make_shared(); + reel->add (make_shared(subs, dcp::Fraction (24, 1), 24, 0)); - shared_ptr cpl (new dcp::CPL ("", dcp::TRAILER)); + auto cpl = make_shared("", dcp::ContentKind::TRAILER, dcp::Standard::SMPTE); cpl->add (reel); dcp.add (cpl); - dcp.write_xml (dcp::SMPTE); + dcp.write_xml (); dcp::DCP dcp2 (directory); dcp2.read (); - shared_ptr subs2 = dynamic_pointer_cast ( + auto subs2 = dynamic_pointer_cast ( dcp2.cpls().front()->reels().front()->main_subtitle()->asset_ref().asset() ); BOOST_REQUIRE (subs2); - BOOST_REQUIRE_EQUAL (subs2->_fonts.size(), 1); + BOOST_REQUIRE_EQUAL (subs2->_fonts.size(), 1U); - boost::uintmax_t const size = boost::filesystem::file_size ("test/data/dummy.ttf"); - FILE* f = dcp::fopen_boost ("test/data/dummy.ttf", "rb"); + auto const size = boost::filesystem::file_size ("test/data/dummy.ttf"); + dcp::File f("test/data/dummy.ttf", "rb"); BOOST_REQUIRE (f); shared_array ref (new uint8_t[size]); - fread (ref.get(), 1, size, f); - fclose (f); + f.read(ref.get(), 1, size); + f.close(); BOOST_REQUIRE (subs2->_fonts.front().data.data()); BOOST_CHECK_EQUAL (memcmp (subs2->_fonts.front().data.data(), ref.get(), size), 0);