diff options
Diffstat (limited to 'test/read_smpte_subtitle_test.cc')
| -rw-r--r-- | test/read_smpte_subtitle_test.cc | 52 |
1 files changed, 33 insertions, 19 deletions
diff --git a/test/read_smpte_subtitle_test.cc b/test/read_smpte_subtitle_test.cc index 2aadc2dc..ff2432e4 100644 --- a/test/read_smpte_subtitle_test.cc +++ b/test/read_smpte_subtitle_test.cc @@ -58,12 +58,14 @@ BOOST_AUTO_TEST_CASE (read_smpte_subtitle_test) BOOST_CHECK_EQUAL (smpte_lfn->id, "theFontId"); BOOST_CHECK_EQUAL (smpte_lfn->urn, "9118bbce-4105-4a05-b37c-a5a6f75e1fea"); BOOST_REQUIRE_EQUAL (sc.subtitles().size(), 63); - BOOST_CHECK_EQUAL (sc.subtitles().front().text(), "Noch mal."); - BOOST_CHECK_EQUAL (sc.subtitles().front().in(), dcp::Time (0, 0, 25, 12, 25)); - BOOST_CHECK_EQUAL (sc.subtitles().front().out(), dcp::Time (0, 0, 26, 4, 25)); - BOOST_CHECK_EQUAL (sc.subtitles().back().text(), "Prochainement"); - BOOST_CHECK_EQUAL (sc.subtitles().back().in(), dcp::Time (0, 1, 57, 17, 25)); - BOOST_CHECK_EQUAL (sc.subtitles().back().out(), dcp::Time (0, 1, 58, 12, 25)); + BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(sc.subtitles().front())); + BOOST_CHECK_EQUAL (dynamic_pointer_cast<dcp::SubtitleString>(sc.subtitles().front())->text(), "Noch mal."); + BOOST_CHECK_EQUAL (sc.subtitles().front()->in(), dcp::Time (0, 0, 25, 12, 25)); + BOOST_CHECK_EQUAL (sc.subtitles().front()->out(), dcp::Time (0, 0, 26, 4, 25)); + BOOST_REQUIRE (dynamic_pointer_cast<dcp::SubtitleString>(sc.subtitles().back())); + BOOST_CHECK_EQUAL (dynamic_pointer_cast<dcp::SubtitleString>(sc.subtitles().back())->text(), "Prochainement"); + BOOST_CHECK_EQUAL (sc.subtitles().back()->in(), dcp::Time (0, 1, 57, 17, 25)); + BOOST_CHECK_EQUAL (sc.subtitles().back()->out(), dcp::Time (0, 1, 58, 12, 25)); } /** And another one featuring <Font> within <Text> */ @@ -72,22 +74,34 @@ BOOST_AUTO_TEST_CASE (read_smpte_subtitle_test2) dcp::SMPTESubtitleAsset sc (private_test / "olsson.xml"); BOOST_REQUIRE_EQUAL (sc.subtitles().size(), 6); - list<dcp::SubtitleString>::const_iterator i = sc.subtitles().begin(); - BOOST_CHECK_EQUAL (i->text(), "Testing is "); - BOOST_CHECK (!i->italic()); + list<shared_ptr<dcp::Subtitle> >::const_iterator i = sc.subtitles().begin(); + shared_ptr<dcp::SubtitleString> is = dynamic_pointer_cast<dcp::SubtitleString>(*i); + BOOST_REQUIRE (is); + BOOST_CHECK_EQUAL (is->text(), "Testing is "); + BOOST_CHECK (!is->italic()); ++i; - BOOST_CHECK_EQUAL (i->text(), "really"); - BOOST_CHECK (i->italic()); + is = dynamic_pointer_cast<dcp::SubtitleString>(*i); + BOOST_REQUIRE (is); + BOOST_CHECK_EQUAL (is->text(), "really"); + BOOST_CHECK (is->italic()); ++i; - BOOST_CHECK_EQUAL (i->text(), " fun!"); - BOOST_CHECK (!i->italic()); + is = dynamic_pointer_cast<dcp::SubtitleString>(*i); + BOOST_REQUIRE (is); + BOOST_CHECK_EQUAL (is->text(), " fun!"); + BOOST_CHECK (!is->italic()); ++i; - BOOST_CHECK_EQUAL (i->text(), "This is the "); - BOOST_CHECK (!i->italic()); + is = dynamic_pointer_cast<dcp::SubtitleString>(*i); + BOOST_REQUIRE (is); + BOOST_CHECK_EQUAL (is->text(), "This is the "); + BOOST_CHECK (!is->italic()); ++i; - BOOST_CHECK_EQUAL (i->text(), "second"); - BOOST_CHECK (i->italic()); + is = dynamic_pointer_cast<dcp::SubtitleString>(*i); + BOOST_REQUIRE (is); + BOOST_CHECK_EQUAL (is->text(), "second"); + BOOST_CHECK (is->italic()); ++i; - BOOST_CHECK_EQUAL (i->text(), " line!"); - BOOST_CHECK (!i->italic()); + is = dynamic_pointer_cast<dcp::SubtitleString>(*i); + BOOST_REQUIRE (is); + BOOST_CHECK_EQUAL (is->text(), " line!"); + BOOST_CHECK (!is->italic()); } |
