Bump libdcp for new equality option.
[libsub.git] / test / dcp_reader_test.cc
index 7fa419b11e1f857317c07caaf2103494dcaf1ab1..9105c283cb588e10e8fcc61a3d5a73a8a10a12b1 100644 (file)
 
 */
 
-#include "interop_dcp_reader.h"
+#include "dcp_reader.h"
 #include "collect.h"
 #include <boost/test/unit_test.hpp>
 #include <boost/optional/optional_io.hpp>
-#include <fstream>
-#include <iostream>
 
-using std::list;
-using std::cout;
-using std::ifstream;
-using boost::shared_ptr;
+using std::shared_ptr;
+using std::vector;
 
 /* Test reading of a DCP XML file */
 BOOST_AUTO_TEST_CASE (dcp_reader_test1)
 {
-       sub::InteropDCPReader reader ("test/data/test1.xml");
-       list<sub::Subtitle> subs = sub::collect<list<sub::Subtitle> > (reader.subtitles ());
+       sub::DCPReader reader ("test/data/test1.xml");
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
-       BOOST_REQUIRE (i != subs.end ());
+       auto i = subs.begin();
+       BOOST_REQUIRE (i != subs.end());
        BOOST_CHECK_EQUAL (i->from, sub::Time::from_hms (0, 0, 5, 198 * 4));
        BOOST_CHECK_EQUAL (i->to, sub::Time::from_hms (0, 0, 7, 115 * 4));
        BOOST_CHECK_EQUAL (i->fade_up.get(), sub::Time::from_hms (0, 0, 0, 4));
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 4));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
@@ -69,10 +65,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 4));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front ();
                BOOST_CHECK_EQUAL (b.font.get(), "theFontId");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -109,10 +105,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 4));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFontId");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -135,10 +131,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 4));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFontId");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -157,10 +153,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
 /* And another one */
 BOOST_AUTO_TEST_CASE (dcp_reader_test2)
 {
-       sub::InteropDCPReader reader ("test/data/test2.xml");
-       list<sub::Subtitle> subs = sub::collect<list<sub::Subtitle> > (reader.subtitles ());
+       sub::DCPReader reader ("test/data/test2.xml");
+       auto subs = sub::collect<vector<sub::Subtitle>> (reader.subtitles ());
 
-       list<sub::Subtitle>::iterator i = subs.begin ();
+       auto i = subs.begin ();
        BOOST_REQUIRE (i != subs.end ());
        BOOST_CHECK_EQUAL (i->from, sub::Time::from_hms (0, 0, 41, 62 * 4));
        BOOST_CHECK_EQUAL (i->to, sub::Time::from_hms (0, 0, 43, 52 * 4));
@@ -168,10 +164,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin ();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front ();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -208,10 +204,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin ();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front ();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -248,10 +244,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -292,10 +288,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -332,10 +328,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -372,10 +368,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -412,10 +408,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -452,10 +448,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -492,10 +488,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -532,10 +528,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
@@ -572,10 +568,10 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
        BOOST_CHECK_EQUAL (i->fade_down.get(), sub::Time::from_hms (0, 0, 0, 0));
 
        {
-               list<sub::Line>::iterator j = i->lines.begin ();
+               auto j = i->lines.begin();
                BOOST_REQUIRE (j != i->lines.end ());
                BOOST_REQUIRE_EQUAL (j->blocks.size(), 1);
-               sub::Block b = j->blocks.front ();
+               auto b = j->blocks.front();
                BOOST_CHECK_EQUAL (b.font.get(), "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));