X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fsubrip_reader_test.cc;h=2daf84a52b3e853b4d17a86f282abd501da63ffb;hb=ebf251867a862f4660a0148d4ee81f980d4d6cd6;hp=6f8e5b8d63cd0f517b8fd66345b408ef8b58310b;hpb=a61dd7004929d59e882974640a2cc7526b13bfd6;p=libsub.git diff --git a/test/subrip_reader_test.cc b/test/subrip_reader_test.cc index 6f8e5b8..2daf84a 100644 --- a/test/subrip_reader_test.cc +++ b/test/subrip_reader_test.cc @@ -28,7 +28,6 @@ #include #include -using std::list; using std::cerr; using std::vector; using std::fabs; @@ -39,9 +38,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test) FILE* f = fopen ("test/data/test.srt", "r"); sub::SubripReader reader (f); fclose (f); - list subs = sub::collect > (reader.subtitles ()); + auto subs = sub::collect> (reader.subtitles()); - list::iterator i = subs.begin (); + auto i = subs.begin (); /* First subtitle */ @@ -50,10 +49,10 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test) BOOST_CHECK_EQUAL (i->from, sub::Time::from_hms (0, 0, 41, 90)); BOOST_CHECK_EQUAL (i->to, sub::Time::from_hms (0, 0, 42, 210)); - list::iterator j = i->lines.begin (); + auto j = i->lines.begin(); BOOST_CHECK (j != i->lines.end ()); BOOST_CHECK_EQUAL (j->blocks.size(), 1); - sub::Block b = j->blocks.front (); + auto b = j->blocks.front(); BOOST_CHECK_EQUAL (b.text, "This is a subtitle"); /* No font is specified by subrip, so none should be seen here */ BOOST_CHECK (!b.font); @@ -94,7 +93,7 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test) BOOST_CHECK_EQUAL (l.vertical_position.line.get(), 0); BOOST_CHECK_EQUAL (l.vertical_position.reference.get(), sub::TOP_OF_SUBTITLE); - list::iterator k = l.blocks.begin (); + auto k = l.blocks.begin(); BOOST_CHECK (k != l.blocks.end ()); BOOST_CHECK_EQUAL (k->text, "This is some "); @@ -175,9 +174,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test2) FILE* f = fopen ("test/data/test2.srt", "r"); sub::SubripReader reader (f); fclose (f); - list subs = sub::collect > (reader.subtitles ()); + auto subs = sub::collect> (reader.subtitles()); - list::const_iterator i = subs.begin(); + auto i = subs.begin(); BOOST_CHECK (i != subs.end ()); BOOST_CHECK_EQUAL (i->from, sub::Time::from_hms (0, 1, 49, 200)); @@ -293,7 +292,25 @@ BOOST_AUTO_TEST_CASE (subrip_reader_convert_line_test) rs = sub::RawSubtitle(); r.convert_line ("This is nesting of subtitles", rs); BOOST_CHECK_EQUAL (r._subs.size(), 3); - list::iterator i = r._subs.begin (); + auto i = r._subs.begin(); + BOOST_CHECK_EQUAL (i->text, "This is "); + BOOST_CHECK_EQUAL (i->bold, true); + BOOST_CHECK_EQUAL (i->italic, false); + ++i; + BOOST_CHECK_EQUAL (i->text, "nesting"); + BOOST_CHECK_EQUAL (i->bold, true); + BOOST_CHECK_EQUAL (i->italic, true); + ++i; + BOOST_CHECK_EQUAL (i->text, " of subtitles"); + BOOST_CHECK_EQUAL (i->bold, true); + BOOST_CHECK_EQUAL (i->italic, false); + ++i; + r._subs.clear (); + + rs = sub::RawSubtitle(); + r.convert_line ("This is nesting of subtitles", rs); + BOOST_CHECK_EQUAL (r._subs.size(), 3); + i = r._subs.begin(); BOOST_CHECK_EQUAL (i->text, "This is "); BOOST_CHECK_EQUAL (i->bold, true); BOOST_CHECK_EQUAL (i->italic, false); @@ -378,6 +395,13 @@ BOOST_AUTO_TEST_CASE (subrip_reader_convert_line_test) BOOST_CHECK (fabs (i->colour.g) < 0.01); BOOST_CHECK_CLOSE (i->colour.b, 1, 0.1); r._subs.clear (); + + rs = sub::RawSubtitle(); + r.convert_line ("<< angle brackets but no HTML >>", rs); + BOOST_CHECK_EQUAL (r._subs.size(), 1); + i = r._subs.begin (); + BOOST_CHECK_EQUAL (i->text, "<< angle brackets but no HTML >>"); + r._subs.clear(); } /** Test SubripReader::convert_time */ @@ -421,10 +445,10 @@ BOOST_AUTO_TEST_CASE (subrip_read_test) { test ("sintel_en.srt"); test ("sintel_fr.srt"); - test ("Fight.Club.1999.720p.BRRip.x264-x0r.srt"); + test ("FC.srt"); test ("EU13.srt"); - test ("Subtitulos_HURTO_eng.srt"); - test ("SWING_PARA_SORDOS_CASTELLANO_24.srt"); + test ("Subtitulos_H_eng.srt"); + test ("SWING.srt"); test_throw ("subtitulo1.srt"); } @@ -461,11 +485,11 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test3) FILE* f = fopen (p.string().c_str(), "r"); sub::SubripReader reader (f); fclose (f); - list subs = sub::collect > (reader.subtitles ()); + auto subs = sub::collect> (reader.subtitles()); - list::iterator i = subs.begin (); - list::iterator j; - list::iterator k; + auto i = subs.begin (); + vector::iterator j; + vector::iterator k; BOOST_REQUIRE (i != subs.end ()); @@ -538,9 +562,9 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test4) FILE* f = fopen (p.string().c_str(), "r"); sub::SubripReader reader (f); fclose (f); - list subs = sub::collect >(reader.subtitles()); + auto subs = sub::collect>(reader.subtitles()); - list::iterator i = subs.begin (); + auto i = subs.begin(); std::cout << i->lines.front().blocks.front().text << "\n"; std::string const t = i->lines.front().blocks.front().text;