X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fread_interop_subtitle_test.cc;h=48892db58b0ff6b81eb36694186fa3718d401b8a;hb=d4f883f7e88b93d1ec2d451036f2b85434baff13;hp=f111b80bfe3ed2b505c425e564f27c4704e6eda0;hpb=844067ead3acb85f68bcf9e879841a3d813db75d;p=libdcp.git diff --git a/test/read_interop_subtitle_test.cc b/test/read_interop_subtitle_test.cc index f111b80b..48892db5 100644 --- a/test/read_interop_subtitle_test.cc +++ b/test/read_interop_subtitle_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2018 Carl Hetherington + Copyright (C) 2012-2019 Carl Hetherington This file is part of libdcp. @@ -15,6 +15,20 @@ You should have received a copy of the GNU General Public License along with libdcp. If not, see . + + In addition, as a special exception, the copyright holders give + permission to link the code of portions of this program with the + OpenSSL library under certain conditions as described in each + individual source file, and distribute linked combinations + including the two. + + You must obey the GNU General Public License in all respects + for all of the code used other than OpenSSL. If you modify + file(s) with this exception, you may extend this exception to your + version of the file(s), but you are not obligated to do so. If you + do not wish to do so, delete this exception statement from your + version. If you delete this exception statement from all source + files in the program, then also delete it here. */ #include "interop_subtitle_asset.h" @@ -26,8 +40,8 @@ using std::list; using std::string; -using boost::shared_ptr; -using boost::dynamic_pointer_cast; +using std::shared_ptr; +using std::dynamic_pointer_cast; /** Load some subtitle content from Interop XML and check that it is read correctly */ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1) @@ -39,17 +53,17 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1) BOOST_CHECK_EQUAL (subs.reel_number(), "1"); BOOST_CHECK_EQUAL (subs.language(), "French"); - list > lfn = subs.load_font_nodes (); + auto lfn = subs.load_font_nodes (); BOOST_REQUIRE_EQUAL (lfn.size(), 1); shared_ptr interop_lfn = dynamic_pointer_cast (lfn.front ()); BOOST_REQUIRE (interop_lfn); BOOST_CHECK_EQUAL (interop_lfn->id, "theFontId"); BOOST_CHECK_EQUAL (interop_lfn->uri, "arial.ttf"); - list > s = subs.subtitles_during (dcp::Time (0, 0, 6, 1, 250), dcp::Time (0, 0, 6, 2, 250), false); + auto s = subs.subtitles_during (dcp::Time (0, 0, 6, 1, 250), dcp::Time (0, 0, 6, 2, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 1); - BOOST_REQUIRE (dynamic_pointer_cast(s.front())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.front())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( string ("theFontId"), false, false, @@ -60,12 +74,12 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1) dcp::Time (0, 0, 5, 198, 250), dcp::Time (0, 0, 7, 115, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.15, - dcp::VALIGN_BOTTOM, - dcp::DIRECTION_LTR, + dcp::VAlign::BOTTOM, + dcp::Direction::LTR, "My jacket was Idi Amin's", - dcp::BORDER, + dcp::Effect::BORDER, dcp::Colour (0, 0, 0), dcp::Time (0, 0, 0, 1, 250), dcp::Time (0, 0, 0, 1, 250) @@ -73,8 +87,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1) s = subs.subtitles_during (dcp::Time (0, 0, 7, 190, 250), dcp::Time (0, 0, 7, 191, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 2); - BOOST_REQUIRE (dynamic_pointer_cast(s.front())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.front())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( string ("theFontId"), true, false, @@ -85,18 +99,18 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1) dcp::Time (0, 0, 7, 177, 250), dcp::Time (0, 0, 11, 31, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.21, - dcp::VALIGN_BOTTOM, - dcp::DIRECTION_LTR, + dcp::VAlign::BOTTOM, + dcp::Direction::LTR, "My corset was H.M. The Queen's", - dcp::BORDER, + dcp::Effect::BORDER, dcp::Colour (0, 0, 0), dcp::Time (0, 0, 0, 1, 250), dcp::Time (0, 0, 0, 1, 250) )); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFontId"), false, false, @@ -107,12 +121,12 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1) dcp::Time (0, 0, 7, 177, 250), dcp::Time (0, 0, 11, 31, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.15, - dcp::VALIGN_BOTTOM, - dcp::DIRECTION_LTR, + dcp::VAlign::BOTTOM, + dcp::Direction::LTR, "My large wonderbra", - dcp::BORDER, + dcp::Effect::BORDER, dcp::Colour (0, 0, 0), dcp::Time (0, 0, 0, 1, 250), dcp::Time (0, 0, 0, 1, 250) @@ -120,8 +134,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1) s = subs.subtitles_during (dcp::Time (0, 0, 11, 95, 250), dcp::Time (0, 0, 11, 96, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 1); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFontId"), false, false, @@ -132,12 +146,12 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1) dcp::Time (0, 0, 11, 94, 250), dcp::Time (0, 0, 13, 63, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.15, - dcp::VALIGN_BOTTOM, - dcp::DIRECTION_LTR, + dcp::VAlign::BOTTOM, + dcp::Direction::LTR, "Once belonged to the Shah", - dcp::BORDER, + dcp::Effect::BORDER, dcp::Colour (0, 0, 0), dcp::Time (0, 0, 0, 1, 250), dcp::Time (0, 0, 0, 1, 250) @@ -145,8 +159,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1) s = subs.subtitles_during (dcp::Time (0, 0, 14, 42, 250), dcp::Time (0, 0, 14, 43, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 1); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFontId"), false, true, @@ -157,12 +171,12 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test1) dcp::Time (0, 0, 13, 104, 250), dcp::Time (0, 0, 15, 177, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.15, - dcp::VALIGN_BOTTOM, - dcp::DIRECTION_LTR, + dcp::VAlign::BOTTOM, + dcp::Direction::LTR, "And these are Roy Hattersley's jeans", - dcp::BORDER, + dcp::Effect::BORDER, dcp::Colour (0, 0, 0), dcp::Time (0, 0, 0, 1, 250), dcp::Time (0, 0, 0, 1, 250) @@ -174,10 +188,10 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2) { dcp::InteropSubtitleAsset subs ("test/data/subs2.xml"); - list > s = subs.subtitles_during (dcp::Time (0, 0, 42, 100, 250), dcp::Time (0, 0, 42, 101, 250), false); + auto s = subs.subtitles_during (dcp::Time (0, 0, 42, 100, 250), dcp::Time (0, 0, 42, 101, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 2); - BOOST_REQUIRE (dynamic_pointer_cast(s.front())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.front())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( string ("theFont"), true, false, @@ -188,18 +202,18 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2) dcp::Time (0, 0, 41, 62, 250), dcp::Time (0, 0, 43, 52, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.89, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "At afternoon tea with John Peel", - dcp::BORDER, + dcp::Effect::BORDER, dcp::Colour (0, 0, 0), dcp::Time (0, 0, 0, 0, 250), dcp::Time (0, 0, 0, 0, 250) )); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFont"), true, false, @@ -210,12 +224,12 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2) dcp::Time (0, 0, 41, 62, 250), dcp::Time (0, 0, 43, 52, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.95, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "I enquired if his accent was real", - dcp::BORDER, + dcp::Effect::BORDER, dcp::Colour (0, 0, 0), dcp::Time (0, 0, 0, 0, 250), dcp::Time (0, 0, 0, 0, 250) @@ -223,8 +237,8 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2) s = subs.subtitles_during (dcp::Time (0, 0, 50, 50, 250), dcp::Time (0, 0, 50, 51, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 2); - BOOST_REQUIRE (dynamic_pointer_cast(s.front())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.front())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( string ("theFont"), true, false, @@ -235,18 +249,18 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2) dcp::Time (0, 0, 50, 42, 250), dcp::Time (0, 0, 52, 21, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.89, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "He said \"out of the house", - dcp::BORDER, + dcp::Effect::BORDER, dcp::Colour (0, 0, 0), dcp::Time (0, 0, 0, 0, 250), dcp::Time (0, 0, 0, 0, 250) )); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFont"), true, false, @@ -257,12 +271,12 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2) dcp::Time (0, 0, 50, 42, 250), dcp::Time (0, 0, 52, 21, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.95, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "I'm incredibly scouse", - dcp::BORDER, + dcp::Effect::BORDER, dcp::Colour (0, 0, 0), dcp::Time (0, 0, 0, 0, 250), dcp::Time (0, 0, 0, 0, 250) @@ -270,149 +284,149 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2) s = subs.subtitles_during (dcp::Time (0, 1, 2, 300, 250), dcp::Time (0, 1, 2, 301, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 2); - BOOST_REQUIRE (dynamic_pointer_cast(s.front())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( - string ("theFont"), + BOOST_REQUIRE (dynamic_pointer_cast(s.front())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( + string("theFont"), true, false, false, - dcp::Colour (255, 255, 255), + dcp::Colour(255, 255, 255), 42, 1.0, - dcp::Time (0, 1, 2, 208, 250), - dcp::Time (0, 1, 4, 10, 250), + dcp::Time(0, 1, 2, 208, 250), + dcp::Time(0, 1, 4, 10, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.89, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "At home it depends how I feel.\"", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFont"), true, false, false, - dcp::Colour (255, 255, 255), + dcp::Colour(255, 255, 255), 42, 1.0, - dcp::Time (0, 1, 2, 208, 250), - dcp::Time (0, 1, 4, 10, 250), + dcp::Time(0, 1, 2, 208, 250), + dcp::Time(0, 1, 4, 10, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.95, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "I spent a long weekend in Brighton", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); s = subs.subtitles_during (dcp::Time (0, 1, 15, 50, 250), dcp::Time (0, 1, 15, 51, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 2); - BOOST_REQUIRE (dynamic_pointer_cast(s.front())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.front())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( string ("theFont"), true, false, false, - dcp::Colour (255, 255, 255), + dcp::Colour(255, 255, 255), 42, 1.0, - dcp::Time (0, 1, 15, 42, 250), - dcp::Time (0, 1, 16, 42, 250), + dcp::Time(0, 1, 15, 42, 250), + dcp::Time(0, 1, 16, 42, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.89, - dcp::VALIGN_TOP, - dcp::DIRECTION_RTL, + dcp::VAlign::TOP, + dcp::Direction::RTL, "With the legendary Miss Enid Blyton", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFont"), true, false, false, - dcp::Colour (255, 255, 255), + dcp::Colour(255, 255, 255), 42, 1.0, - dcp::Time (0, 1, 15, 42, 250), - dcp::Time (0, 1, 16, 42, 250), + dcp::Time(0, 1, 15, 42, 250), + dcp::Time(0, 1, 16, 42, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.95, - dcp::VALIGN_TOP, - dcp::DIRECTION_TTB, + dcp::VAlign::TOP, + dcp::Direction::TTB, "She said \"you be Noddy", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); s = subs.subtitles_during (dcp::Time (0, 1, 27, 200, 250), dcp::Time (0, 1, 27, 201, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 2); - BOOST_REQUIRE (dynamic_pointer_cast(s.front())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.front())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( string ("theFont"), true, false, false, - dcp::Colour (255, 255, 255), + dcp::Colour(255, 255, 255), 42, 1.0, - dcp::Time (0, 1, 27, 115, 250), - dcp::Time (0, 1, 28, 208, 250), + dcp::Time(0, 1, 27, 115, 250), + dcp::Time(0, 1, 28, 208, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.89, - dcp::VALIGN_TOP, - dcp::DIRECTION_BTT, + dcp::VAlign::TOP, + dcp::Direction::BTT, "That curious creature the Sphinx", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFont"), true, false, false, - dcp::Colour (255, 255, 255), + dcp::Colour(255, 255, 255), 42, 1.0, - dcp::Time (0, 1, 27, 115, 250), - dcp::Time (0, 1, 28, 208, 250), + dcp::Time(0, 1, 27, 115, 250), + dcp::Time(0, 1, 28, 208, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.95, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "Is smarter than anyone thinks", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); s = subs.subtitles_during (dcp::Time (0, 1, 42, 300, 250), dcp::Time (0, 1, 42, 301, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 2); - BOOST_REQUIRE (dynamic_pointer_cast(s.front())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.front())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( string ("theFont"), false, false, @@ -423,18 +437,18 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2) dcp::Time (0, 1, 42, 229, 250), dcp::Time (0, 1, 45, 62, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.89, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "It sits there and smirks", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFont"), false, false, @@ -445,43 +459,43 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2) dcp::Time (0, 1, 42, 229, 250), dcp::Time (0, 1, 45, 62, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.95, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "And you don't think it works", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); s = subs.subtitles_during (dcp::Time (0, 1, 45, 200, 250), dcp::Time (0, 1, 45, 201, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 2); - BOOST_REQUIRE (dynamic_pointer_cast(s.front())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( - string ("theFont"), + BOOST_REQUIRE (dynamic_pointer_cast(s.front())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( + string("theFont"), false, false, false, - dcp::Colour (255, 255, 255), + dcp::Colour(255, 255, 255), 42, 1.0, - dcp::Time (0, 1, 45, 146, 250), - dcp::Time (0, 1, 47, 94, 250), + dcp::Time(0, 1, 45, 146, 250), + dcp::Time(0, 1, 47, 94, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.89, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "Then when you're not looking, it winks.", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFont"), false, false, @@ -492,68 +506,68 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2) dcp::Time (0, 1, 45, 146, 250), dcp::Time (0, 1, 47, 94, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.95, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "When it snows you will find Sister Sledge", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); s = subs.subtitles_during (dcp::Time (0, 1, 47, 249, 250), dcp::Time (0, 1, 47, 250, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 2); - BOOST_REQUIRE (dynamic_pointer_cast(s.front())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.front())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( string ("theFont"), false, false, false, - dcp::Colour (255, 255, 255), + dcp::Colour(255, 255, 255), 42, 1.0, - dcp::Time (0, 1, 47, 146, 250), - dcp::Time (0, 1, 48, 167, 250), + dcp::Time(0, 1, 47, 146, 250), + dcp::Time(0, 1, 48, 167, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.89, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "Out mooning, at night, on the ledge", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFont"), false, false, false, - dcp::Colour (255, 255, 255), + dcp::Colour(255, 255, 255), 42, 1.0, - dcp::Time (0, 1, 47, 146, 250), - dcp::Time (0, 1, 48, 167, 250), + dcp::Time(0, 1, 47, 146, 250), + dcp::Time(0, 1, 48, 167, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.95, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "One storey down", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); s = subs.subtitles_during (dcp::Time (0, 2, 6, 210, 250), dcp::Time (0, 2, 6, 211, 250), false); BOOST_REQUIRE_EQUAL (s.size(), 2); - BOOST_REQUIRE (dynamic_pointer_cast(s.front())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.front())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.front()), dcp::SubtitleString ( string ("theFont"), true, false, @@ -564,37 +578,37 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test2) dcp::Time (0, 2, 5, 208, 250), dcp::Time (0, 2, 7, 31, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.89, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "HELLO", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); - BOOST_REQUIRE (dynamic_pointer_cast(s.back())); - BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( + BOOST_REQUIRE (dynamic_pointer_cast(s.back())); + BOOST_CHECK_EQUAL (*dynamic_pointer_cast(s.back()), dcp::SubtitleString ( string ("theFont"), true, false, false, - dcp::Colour (255, 255, 255), + dcp::Colour(255, 255, 255), 42, 1.0, - dcp::Time (0, 2, 5, 208, 250), - dcp::Time (0, 2, 7, 31, 250), + dcp::Time(0, 2, 5, 208, 250), + dcp::Time(0, 2, 7, 31, 250), 0, - dcp::HALIGN_CENTER, + dcp::HAlign::CENTER, 0.95, - dcp::VALIGN_TOP, - dcp::DIRECTION_LTR, + dcp::VAlign::TOP, + dcp::Direction::LTR, "WORLD", - dcp::BORDER, - dcp::Colour (0, 0, 0), - dcp::Time (0, 0, 0, 0, 250), - dcp::Time (0, 0, 0, 0, 250) + dcp::Effect::BORDER, + dcp::Colour(0, 0, 0), + dcp::Time(0, 0, 0, 0, 250), + dcp::Time(0, 0, 0, 0, 250) )); } @@ -604,7 +618,7 @@ BOOST_AUTO_TEST_CASE (read_interop_subtitle_test3) dcp::InteropSubtitleAsset subs ("test/data/subs3.xml"); BOOST_REQUIRE_EQUAL (subs.subtitles().size(), 1); - shared_ptr si = dynamic_pointer_cast(subs.subtitles().front()); + auto si = dynamic_pointer_cast(subs.subtitles().front()); BOOST_REQUIRE (si); - BOOST_CHECK (si->png_image() == dcp::Data("test/data/sub.png")); + BOOST_CHECK (si->png_image() == dcp::ArrayData("test/data/sub.png")); }