Rename everything.
[libdcp.git] / test / smpte_subtitle_test.cc
index 3bf9dc5207a2cec205ca71ab1170fd055529d38b..9b1195924892512a5b5fb471c6e685f782b55aa5 100644 (file)
@@ -33,7 +33,7 @@
 
 
 #include "smpte_load_font_node.h"
-#include "smpte_subtitle_asset.h"
+#include "smpte_text_asset.h"
 #include "stream_operators.h"
 #include "subtitle_image.h"
 #include "test.h"
@@ -51,9 +51,9 @@ using boost::optional;
 
 BOOST_AUTO_TEST_CASE (smpte_subtitle_id_test)
 {
-       dcp::SMPTESubtitleAsset subs;
+       dcp::SMPTETextAsset subs;
        subs.add(
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        optional<string>(),
                        false, false, false,
                        dcp::Colour(),
@@ -78,7 +78,7 @@ BOOST_AUTO_TEST_CASE (smpte_subtitle_id_test)
                );
        subs.write("build/test/smpte_subtitle_id_test.mxf");
 
-       dcp::SMPTESubtitleAsset check("build/test/smpte_subtitle_id_test.mxf");
+       dcp::SMPTETextAsset check("build/test/smpte_subtitle_id_test.mxf");
        BOOST_CHECK(check.id() != check.xml_id());
 }
 
@@ -86,7 +86,7 @@ BOOST_AUTO_TEST_CASE (smpte_subtitle_id_test)
 /** Check reading of a SMPTE subtitle file */
 BOOST_AUTO_TEST_CASE (read_smpte_subtitle_test)
 {
-       dcp::SMPTESubtitleAsset sc (
+       dcp::SMPTETextAsset sc(
                private_test /
                "data" /
                "JourneyToJah_TLR-1_F_EN-DE-FR_CH_51_2K_LOK_20140225_DGL_SMPTE_OV" /
@@ -111,59 +111,59 @@ BOOST_AUTO_TEST_CASE (read_smpte_subtitle_test)
        BOOST_REQUIRE (smpte_lfn);
        BOOST_CHECK_EQUAL (smpte_lfn->id, "theFontId");
        BOOST_CHECK_EQUAL (smpte_lfn->urn, "9118bbce-4105-4a05-b37c-a5a6f75e1fea");
-       BOOST_REQUIRE_EQUAL (sc.subtitles().size(), 63U);
-       BOOST_REQUIRE (dynamic_pointer_cast<const dcp::SubtitleString>(sc.subtitles().front()));
-       BOOST_CHECK_EQUAL (dynamic_pointer_cast<const dcp::SubtitleString>(sc.subtitles().front())->text(), "Noch mal.");
-       BOOST_CHECK_EQUAL (dynamic_pointer_cast<const dcp::SubtitleString>(sc.subtitles().front())->space_before(), 0.0f);
-       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<const dcp::SubtitleString>(sc.subtitles().back()));
-       BOOST_CHECK_EQUAL (dynamic_pointer_cast<const dcp::SubtitleString>(sc.subtitles().back())->text(), "Prochainement");
-       BOOST_CHECK_EQUAL (dynamic_pointer_cast<const dcp::SubtitleString>(sc.subtitles().back())->space_before(), 0.0f);
-       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_EQUAL(sc.texts().size(), 63U);
+       BOOST_REQUIRE (dynamic_pointer_cast<const dcp::TextString>(sc.texts().front()));
+       BOOST_CHECK_EQUAL (dynamic_pointer_cast<const dcp::TextString>(sc.texts().front())->text(), "Noch mal.");
+       BOOST_CHECK_EQUAL (dynamic_pointer_cast<const dcp::TextString>(sc.texts().front())->space_before(), 0.0f);
+       BOOST_CHECK_EQUAL (sc.texts().front()->in(), dcp::Time (0, 0, 25, 12, 25));
+       BOOST_CHECK_EQUAL (sc.texts().front()->out(), dcp::Time (0, 0, 26, 4, 25));
+       BOOST_REQUIRE (dynamic_pointer_cast<const dcp::TextString>(sc.texts().back()));
+       BOOST_CHECK_EQUAL (dynamic_pointer_cast<const dcp::TextString>(sc.texts().back())->text(), "Prochainement");
+       BOOST_CHECK_EQUAL (dynamic_pointer_cast<const dcp::TextString>(sc.texts().back())->space_before(), 0.0f);
+       BOOST_CHECK_EQUAL (sc.texts().back()->in(), dcp::Time (0, 1, 57, 17, 25));
+       BOOST_CHECK_EQUAL (sc.texts().back()->out(), dcp::Time (0, 1, 58, 12, 25));
 }
 
 
 /** And another one featuring <Font> within <Text> and some <Space> */
 BOOST_AUTO_TEST_CASE (read_smpte_subtitle_test2)
 {
-       dcp::SMPTESubtitleAsset sc (private_test / "olsson.xml");
+       dcp::SMPTETextAsset sc (private_test / "olsson.xml");
 
-       auto subs = sc.subtitles();
+       auto subs = sc.texts();
        BOOST_REQUIRE_EQUAL (subs.size(), 6U);
        auto i = 0;
-       auto is = dynamic_pointer_cast<const dcp::SubtitleString>(subs[i]);
+       auto is = dynamic_pointer_cast<const dcp::TextString>(subs[i]);
        BOOST_REQUIRE (is);
        BOOST_CHECK_EQUAL (is->text(), "Testing is ");
        BOOST_CHECK (!is->italic());
        BOOST_CHECK_CLOSE (is->space_before(), 0, 0.1);
        ++i;
-       is = dynamic_pointer_cast<const dcp::SubtitleString>(subs[i]);
+       is = dynamic_pointer_cast<const dcp::TextString>(subs[i]);
        BOOST_REQUIRE (is);
        BOOST_CHECK_EQUAL (is->text(), "really");
        BOOST_CHECK (is->italic());
        BOOST_CHECK_CLOSE (is->space_before(), 0, 0.1);
        ++i;
-       is = dynamic_pointer_cast<const dcp::SubtitleString>(subs[i]);
+       is = dynamic_pointer_cast<const dcp::TextString>(subs[i]);
        BOOST_REQUIRE (is);
        BOOST_CHECK_EQUAL (is->text(), " fun!");
        BOOST_CHECK (!is->italic());
        BOOST_CHECK_CLOSE (is->space_before(), 5, 0.1);
        ++i;
-       is = dynamic_pointer_cast<const dcp::SubtitleString>(subs[i]);
+       is = dynamic_pointer_cast<const dcp::TextString>(subs[i]);
        BOOST_REQUIRE (is);
        BOOST_CHECK_EQUAL (is->text(), "This is the ");
        BOOST_CHECK (!is->italic());
        BOOST_CHECK_CLOSE (is->space_before(), 0, 0.1);
        ++i;
-       is = dynamic_pointer_cast<const dcp::SubtitleString>(subs[i]);
+       is = dynamic_pointer_cast<const dcp::TextString>(subs[i]);
        BOOST_REQUIRE (is);
        BOOST_CHECK_EQUAL (is->text(), "second");
        BOOST_CHECK (is->italic());
        BOOST_CHECK_CLOSE (is->space_before(), 0, 0.1);
        ++i;
-       is = dynamic_pointer_cast<const dcp::SubtitleString>(subs[i]);
+       is = dynamic_pointer_cast<const dcp::TextString>(subs[i]);
        BOOST_REQUIRE (is);
        BOOST_CHECK_EQUAL (is->text(), " line!");
        BOOST_CHECK (!is->italic());
@@ -174,14 +174,14 @@ BOOST_AUTO_TEST_CASE (read_smpte_subtitle_test2)
 /* Write some subtitle content as SMPTE XML and check that it is right */
 BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test)
 {
-       dcp::SMPTESubtitleAsset c;
+       dcp::SMPTETextAsset c;
        c.set_reel_number (1);
        c.set_language (dcp::LanguageTag("en"));
        c.set_content_title_text ("Test");
        c.set_issue_date (dcp::LocalTime ("2016-04-01T03:52:00+00:00"));
 
        c.add (
-               std::make_shared<dcp::SubtitleString> (
+               std::make_shared<dcp::TextString> (
                        string ("Frutiger"),
                        false,
                        false,
@@ -208,7 +208,7 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test)
                );
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        boost::optional<string> (),
                        true,
                        true,
@@ -235,7 +235,7 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test)
                );
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        boost::optional<string> (),
                        true,
                        true,
@@ -296,14 +296,14 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test)
 */
 BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test2)
 {
-       dcp::SMPTESubtitleAsset c;
+       dcp::SMPTETextAsset c;
        c.set_reel_number (1);
        c.set_language (dcp::LanguageTag("en"));
        c.set_content_title_text ("Test");
        c.set_issue_date (dcp::LocalTime ("2016-04-01T03:52:00+00:00"));
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        string ("Arial"),
                        false,
                        false,
@@ -330,7 +330,7 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test2)
                );
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        string ("Arial"),
                        true,
                        false,
@@ -357,7 +357,7 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test2)
                );
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        string ("Arial"),
                        false,
                        false,
@@ -384,7 +384,7 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test2)
                );
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        string ("Arial"),
                        false,
                        false,
@@ -411,7 +411,7 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test2)
                );
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        string ("Arial"),
                        true,
                        false,
@@ -438,7 +438,7 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test2)
                );
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        string ("Arial"),
                        false,
                        false,
@@ -493,7 +493,7 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test2)
 /* Write some subtitle content as SMPTE using bitmaps and check that it is right */
 BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test3)
 {
-       dcp::SMPTESubtitleAsset c;
+       dcp::SMPTETextAsset c;
        c.set_reel_number (1);
        c.set_language (dcp::LanguageTag("en"));
        c.set_content_title_text ("Test");
@@ -522,8 +522,8 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test3)
        boost::filesystem::create_directories (path);
        c.write (path / "subs.mxf");
 
-       dcp::SMPTESubtitleAsset read_back (path / "subs.mxf");
-       auto subs = read_back.subtitles ();
+       dcp::SMPTETextAsset read_back (path / "subs.mxf");
+       auto subs = read_back.texts();
        BOOST_REQUIRE_EQUAL (subs.size(), 1U);
        auto image = dynamic_pointer_cast<const dcp::SubtitleImage>(subs[0]);
        BOOST_REQUIRE (image);
@@ -546,14 +546,14 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test3)
  */
 BOOST_AUTO_TEST_CASE (write_subtitles_in_vertical_order_with_top_alignment)
 {
-       dcp::SMPTESubtitleAsset c;
+       dcp::SMPTETextAsset c;
        c.set_reel_number (1);
        c.set_language (dcp::LanguageTag("en"));
        c.set_content_title_text ("Test");
        c.set_issue_date (dcp::LocalTime ("2016-04-01T03:52:00+00:00"));
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        string ("Arial"),
                        false,
                        false,
@@ -580,7 +580,7 @@ BOOST_AUTO_TEST_CASE (write_subtitles_in_vertical_order_with_top_alignment)
                );
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        string ("Arial"),
                        false,
                        false,
@@ -636,14 +636,14 @@ BOOST_AUTO_TEST_CASE (write_subtitles_in_vertical_order_with_top_alignment)
 /* See the test above */
 BOOST_AUTO_TEST_CASE (write_subtitles_in_vertical_order_with_bottom_alignment)
 {
-       dcp::SMPTESubtitleAsset c;
+       dcp::SMPTETextAsset c;
        c.set_reel_number (1);
        c.set_language (dcp::LanguageTag("en"));
        c.set_content_title_text ("Test");
        c.set_issue_date (dcp::LocalTime ("2016-04-01T03:52:00+00:00"));
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        string ("Arial"),
                        false,
                        false,
@@ -670,7 +670,7 @@ BOOST_AUTO_TEST_CASE (write_subtitles_in_vertical_order_with_bottom_alignment)
                );
 
        c.add (
-               std::make_shared<dcp::SubtitleString>(
+               std::make_shared<dcp::TextString>(
                        string ("Arial"),
                        false,
                        false,
@@ -723,49 +723,49 @@ BOOST_AUTO_TEST_CASE (write_subtitles_in_vertical_order_with_bottom_alignment)
 }
 
 
-BOOST_AUTO_TEST_CASE(smpte_subtitle_standard_written_correctly)
+BOOST_AUTO_TEST_CASE(smpte_text_standard_written_correctly)
 {
        RNGFixer fixer;
 
        boost::filesystem::path const ref = "test/data";
-       boost::filesystem::path const out = "build/test/smpte_subtitle_standard_written_correctly";
+       boost::filesystem::path const out = "build/test/smpte_text_standard_written_correctly";
 
        boost::filesystem::remove_all(out);
        boost::filesystem::create_directories(out);
 
-       dcp::SMPTESubtitleAsset test_2014;
+       dcp::SMPTETextAsset test_2014;
        test_2014.set_issue_date(dcp::LocalTime("2020-01-01T14:00:00"));
        test_2014.write(out / "2014.mxf");
-       BOOST_CHECK_EQUAL(dcp::SMPTESubtitleAsset(ref / "2014.mxf").raw_xml(), dcp::SMPTESubtitleAsset(out / "2014.mxf").raw_xml());
+       BOOST_CHECK_EQUAL(dcp::SMPTETextAsset(ref / "2014.mxf").raw_xml(), dcp::SMPTETextAsset(out / "2014.mxf").raw_xml());
 
-       dcp::SMPTESubtitleAsset test_2010(dcp::SubtitleStandard::SMPTE_2010);
+       dcp::SMPTETextAsset test_2010(dcp::TextStandard::SMPTE_2010);
        test_2010.set_issue_date(dcp::LocalTime("2020-01-01T14:00:00"));
        test_2010.write(out / "2010.mxf");
-       BOOST_CHECK_EQUAL(dcp::SMPTESubtitleAsset(ref / "2010.mxf").raw_xml(), dcp::SMPTESubtitleAsset(out / "2010.mxf").raw_xml());
+       BOOST_CHECK_EQUAL(dcp::SMPTETextAsset(ref / "2010.mxf").raw_xml(), dcp::SMPTETextAsset(out / "2010.mxf").raw_xml());
 
-       dcp::SMPTESubtitleAsset test_2007(dcp::SubtitleStandard::SMPTE_2007);
+       dcp::SMPTETextAsset test_2007(dcp::TextStandard::SMPTE_2007);
        test_2007.set_issue_date(dcp::LocalTime("2020-01-01T14:00:00"));
        test_2007.write(out / "2007.mxf");
-       BOOST_CHECK_EQUAL(dcp::SMPTESubtitleAsset(ref / "2007.mxf").raw_xml(), dcp::SMPTESubtitleAsset(out / "2007.mxf").raw_xml());
+       BOOST_CHECK_EQUAL(dcp::SMPTETextAsset(ref / "2007.mxf").raw_xml(), dcp::SMPTETextAsset(out / "2007.mxf").raw_xml());
 }
 
 
-BOOST_AUTO_TEST_CASE(smpte_subtitle_standard_read_correctly)
+BOOST_AUTO_TEST_CASE(smpte_text_standard_read_correctly)
 {
-       dcp::SMPTESubtitleAsset test_2007("test/data/2007.mxf");
-       BOOST_CHECK(test_2007.subtitle_standard() == dcp::SubtitleStandard::SMPTE_2007);
+       dcp::SMPTETextAsset test_2007("test/data/2007.mxf");
+       BOOST_CHECK(test_2007.text_standard() == dcp::TextStandard::SMPTE_2007);
 
-       dcp::SMPTESubtitleAsset test_2010("test/data/2010.mxf");
-       BOOST_CHECK(test_2010.subtitle_standard() == dcp::SubtitleStandard::SMPTE_2010);
+       dcp::SMPTETextAsset test_2010("test/data/2010.mxf");
+       BOOST_CHECK(test_2010.text_standard() == dcp::TextStandard::SMPTE_2010);
 
-       dcp::SMPTESubtitleAsset test_2014("test/data/2014.mxf");
-       BOOST_CHECK(test_2014.subtitle_standard() == dcp::SubtitleStandard::SMPTE_2014);
+       dcp::SMPTETextAsset test_2014("test/data/2014.mxf");
+       BOOST_CHECK(test_2014.text_standard() == dcp::TextStandard::SMPTE_2014);
 }
 
 
 BOOST_AUTO_TEST_CASE(smpte_subtitle_intrinsic_duration_read_correctly)
 {
-       dcp::SMPTESubtitleAsset ref("test/data/verify_incorrect_closed_caption_ordering3.xml");
+       dcp::SMPTETextAsset ref("test/data/verify_incorrect_closed_caption_ordering3.xml");
 
        dcp::Key key;
        ref.set_key(key);
@@ -777,7 +777,7 @@ BOOST_AUTO_TEST_CASE(smpte_subtitle_intrinsic_duration_read_correctly)
        auto const path = boost::filesystem::path("build/test/smpte_subtitle_instrinsic_duration_read_correctly.mxf");
        ref.write(path);
 
-       auto check = dcp::SMPTESubtitleAsset(path);
+       auto check = dcp::SMPTETextAsset(path);
        check.set_key(key);
        BOOST_CHECK_EQUAL(check.intrinsic_duration(), duration);
 }