Don't specify arbitrary guessed stuff.
authorCarl Hetherington <cth@carlh.net>
Thu, 9 Jun 2016 13:08:27 +0000 (14:08 +0100)
committerCarl Hetherington <cth@carlh.net>
Thu, 9 Jun 2016 13:08:27 +0000 (14:08 +0100)
src/subrip_reader.cc
test/subrip_reader_test.cc

index 5a4122c73a7e88f9d91b860fb34ecb058fd3245e..e5f113da1d294c17d31792ccbd79b103dc9b742f 100644 (file)
@@ -67,11 +67,11 @@ SubripReader::read (function<optional<string> ()> get_line)
        } state = COUNTER;
 
        RawSubtitle rs;
-       rs.font = "Arial";
-       rs.font_size.set_points (48);
+
+       /* This reader extracts no information about where the subtitle
+          should be on screen, so its reference is TOP_OF_SUBTITLE.
+       */
        rs.vertical_position.line = 0;
-       /* XXX: arbitrary */
-       rs.vertical_position.lines = 32;
        rs.vertical_position.reference = TOP_OF_SUBTITLE;
 
        while (true) {
index cb72e28401aaca48b434496e88722f349b2dc65f..e3f3cabe2ab0c23db03ba7dddebd56f8a6123d07 100644 (file)
@@ -55,8 +55,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
        BOOST_CHECK_EQUAL (j->blocks.size(), 1);
        sub::Block b = j->blocks.front ();
        BOOST_CHECK_EQUAL (b.text, "This is a subtitle");
-       BOOST_CHECK_EQUAL (b.font.get(), "Arial");
-       BOOST_CHECK_EQUAL (b.font_size.points().get(), 48);
+       /* No font is specified by subrip, so none should be seen here */
+       BOOST_CHECK (!b.font);
+       BOOST_CHECK (!b.font_size.specified());
        BOOST_CHECK_EQUAL (b.bold, false);
        BOOST_CHECK_EQUAL (b.italic, false);
        BOOST_CHECK_EQUAL (b.underline, false);
@@ -68,8 +69,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
        BOOST_CHECK_EQUAL (j->blocks.size(), 1);
        b = j->blocks.front ();
        BOOST_CHECK_EQUAL (b.text, "and that's a line break");
-       BOOST_CHECK_EQUAL (b.font.get(), "Arial");
-       BOOST_CHECK_EQUAL (b.font_size.points().get(), 48);
+       /* No font is specified by subrip, so none should be seen here */
+       BOOST_CHECK (!b.font);
+       BOOST_CHECK (!b.font_size.specified());
        BOOST_CHECK_EQUAL (b.bold, false);
        BOOST_CHECK_EQUAL (b.italic, false);
        BOOST_CHECK_EQUAL (b.underline, false);
@@ -94,8 +96,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
 
        BOOST_CHECK (k != l.blocks.end ());
        BOOST_CHECK_EQUAL (k->text, "This is some ");
-       BOOST_CHECK_EQUAL (k->font.get(), "Arial");
-       BOOST_CHECK_EQUAL (k->font_size.points().get(), 48);
+       /* No font is specified by subrip, so none should be seen here */
+       BOOST_CHECK (!b.font);
+       BOOST_CHECK (!b.font_size.specified());
        BOOST_CHECK_EQUAL (k->bold, false);
        BOOST_CHECK_EQUAL (k->italic, false);
        BOOST_CHECK_EQUAL (k->underline, false);
@@ -103,8 +106,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
 
        BOOST_CHECK (k != l.blocks.end ());
        BOOST_CHECK_EQUAL (k->text, "bold");
-       BOOST_CHECK_EQUAL (k->font.get(), "Arial");
-       BOOST_CHECK_EQUAL (k->font_size.points().get(), 48);
+       /* No font is specified by subrip, so none should be seen here */
+       BOOST_CHECK (!b.font);
+       BOOST_CHECK (!b.font_size.specified());
        BOOST_CHECK_EQUAL (k->bold, true);
        BOOST_CHECK_EQUAL (k->italic, false);
        BOOST_CHECK_EQUAL (k->underline, false);
@@ -112,8 +116,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
 
        BOOST_CHECK (k != l.blocks.end ());
        BOOST_CHECK_EQUAL (k->text, " and some ");
-       BOOST_CHECK_EQUAL (k->font.get(), "Arial");
-       BOOST_CHECK_EQUAL (k->font_size.points().get(), 48);
+       /* No font is specified by subrip, so none should be seen here */
+       BOOST_CHECK (!b.font);
+       BOOST_CHECK (!b.font_size.specified());
        BOOST_CHECK_EQUAL (k->bold, false);
        BOOST_CHECK_EQUAL (k->italic, false);
        BOOST_CHECK_EQUAL (k->underline, false);
@@ -121,8 +126,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
 
        BOOST_CHECK (k != l.blocks.end ());
        BOOST_CHECK_EQUAL (k->text, "bold italic");
-       BOOST_CHECK_EQUAL (k->font.get(), "Arial");
-       BOOST_CHECK_EQUAL (k->font_size.points().get(), 48);
+       /* No font is specified by subrip, so none should be seen here */
+       BOOST_CHECK (!b.font);
+       BOOST_CHECK (!b.font_size.specified());
        BOOST_CHECK_EQUAL (k->bold, true);
        BOOST_CHECK_EQUAL (k->italic, true);
        BOOST_CHECK_EQUAL (k->underline, false);
@@ -130,8 +136,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
 
        BOOST_CHECK (k != l.blocks.end ());
        BOOST_CHECK_EQUAL (k->text, " and some ");
-       BOOST_CHECK_EQUAL (k->font.get(), "Arial");
-       BOOST_CHECK_EQUAL (k->font_size.points().get(), 48);
+       /* No font is specified by subrip, so none should be seen here */
+       BOOST_CHECK (!b.font);
+       BOOST_CHECK (!b.font_size.specified());
        BOOST_CHECK_EQUAL (k->bold, false);
        BOOST_CHECK_EQUAL (k->italic, false);
        BOOST_CHECK_EQUAL (k->underline, false);
@@ -139,8 +146,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
 
        BOOST_CHECK (k != l.blocks.end ());
        BOOST_CHECK_EQUAL (k->text, "underlined");
-       BOOST_CHECK_EQUAL (k->font.get(), "Arial");
-       BOOST_CHECK_EQUAL (k->font_size.points().get(), 48);
+       /* No font is specified by subrip, so none should be seen here */
+       BOOST_CHECK (!b.font);
+       BOOST_CHECK (!b.font_size.specified());
        BOOST_CHECK_EQUAL (k->bold, false);
        BOOST_CHECK_EQUAL (k->italic, false);
        BOOST_CHECK_EQUAL (k->underline, true);
@@ -148,8 +156,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test)
 
        BOOST_CHECK (k != l.blocks.end ());
        BOOST_CHECK_EQUAL (k->text, ".");
-       BOOST_CHECK_EQUAL (k->font.get(), "Arial");
-       BOOST_CHECK_EQUAL (k->font_size.points().get(), 48);
+       /* No font is specified by subrip, so none should be seen here */
+       BOOST_CHECK (!b.font);
+       BOOST_CHECK (!b.font_size.specified());
        BOOST_CHECK_EQUAL (k->bold, false);
        BOOST_CHECK_EQUAL (k->italic, false);
        BOOST_CHECK_EQUAL (k->underline, false);