Initial work on removing storage of subtitle times.
[dcpomatic.git] / test / dcp_subtitle_test.cc
index 66fe855cd15a77829f97c069442e83a7abc11172..927b8be69c32d28c6ebfb594006693f30abfea4c 100644 (file)
@@ -20,6 +20,7 @@
 
 /** @file  test/dcp_subtitle_test.cc
  *  @brief Test DCP subtitle content in various ways.
+ *  @ingroup specific
  */
 
 #include <boost/test/unit_test.hpp>
@@ -82,12 +83,12 @@ BOOST_AUTO_TEST_CASE (dcp_subtitle_within_dcp_test)
        wait_for_jobs ();
 
        shared_ptr<DCPDecoder> decoder (new DCPDecoder (content, film->log()));
-       decoder->subtitle->TextData.connect (bind (store, _1));
+       decoder->subtitle->TextStart.connect (bind (store, _1));
 
-       while (!decoder->pass() || !stored) {}
+       stored = optional<ContentTextSubtitle> ();
+       while (!decoder->pass() && !stored) {}
 
        BOOST_REQUIRE (stored);
-       BOOST_REQUIRE_EQUAL (stored->subs.size(), 1);
        BOOST_REQUIRE_EQUAL (stored->subs.size(), 2);
        BOOST_CHECK_EQUAL (stored->subs.front().text(), "Noch mal.");
        BOOST_CHECK_EQUAL (stored->subs.back().text(), "Encore une fois.");
@@ -105,10 +106,11 @@ BOOST_AUTO_TEST_CASE (dcp_subtitle_test2)
        wait_for_jobs ();
 
        shared_ptr<DCPSubtitleDecoder> decoder (new DCPSubtitleDecoder (content, film->log()));
-       decoder->subtitle->TextData.connect (bind (store, _1));
+       decoder->subtitle->TextStart.connect (bind (store, _1));
 
+       stored = optional<ContentTextSubtitle> ();
        while (!decoder->pass ()) {
-               if (stored && stored->period().from == ContentTime(0)) {
+               if (stored && stored->from() == ContentTime(0)) {
                        BOOST_CHECK_EQUAL (stored->subs.front().text(), "&lt;b&gt;Hello world!&lt;/b&gt;");
                }
        }
@@ -130,9 +132,10 @@ BOOST_AUTO_TEST_CASE (dcp_subtitle_test3)
        wait_for_jobs ();
 
        shared_ptr<DCPSubtitleDecoder> decoder (new DCPSubtitleDecoder (content, film->log()));
+       stored = optional<ContentTextSubtitle> ();
        while (!decoder->pass ()) {
-               decoder->subtitle->TextData.connect (bind (store, _1));
-               if (stored && stored->period().from == ContentTime::from_seconds(0.08)) {
+               decoder->subtitle->TextStart.connect (bind (store, _1));
+               if (stored && stored->from() == ContentTime::from_seconds(0.08)) {
                        list<dcp::SubtitleString> s = stored->subs;
                        list<dcp::SubtitleString>::const_iterator i = s.begin ();
                        BOOST_CHECK_EQUAL (i->text(), "This");