diff options
| -rw-r--r-- | src/subrip_reader.cc | 1 | ||||
| -rw-r--r-- | test/subrip_reader_test.cc | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/subrip_reader.cc b/src/subrip_reader.cc index 134ca3e..644a23c 100644 --- a/src/subrip_reader.cc +++ b/src/subrip_reader.cc @@ -196,6 +196,7 @@ SubripReader::convert_line (string t, int line_number, Time from, Time to) colours.push_back (p.colour); } } else if (tag == "/font") { + maybe_content (p); colours.pop_back (); p.colour = colours.back (); } diff --git a/test/subrip_reader_test.cc b/test/subrip_reader_test.cc index dcd506a..597ccc9 100644 --- a/test/subrip_reader_test.cc +++ b/test/subrip_reader_test.cc @@ -278,6 +278,15 @@ BOOST_AUTO_TEST_CASE (subrip_reader_convert_line_test) ++i; r._subs.clear (); + r.convert_line ("<font color=\"#ff00ff\">simple color</font>", 0, sub::Time (), sub::Time ()); + BOOST_CHECK_EQUAL (r._subs.size(), 1); + BOOST_CHECK_EQUAL (r._subs.front().text, "simple color"); + BOOST_CHECK_EQUAL (r._subs.front().bold, false); + BOOST_CHECK_CLOSE (r._subs.front().colour.r, 1, 0.1); + BOOST_CHECK (fabs (r._subs.front().colour.g) < 0.01); + BOOST_CHECK_CLOSE (r._subs.front().colour.b, 1, 0.1); + r._subs.clear (); + r.convert_line ("<font color=\"#ff0000\">some red text <b>in bold</b></font>", 0, sub::Time (), sub::Time ()); BOOST_CHECK_EQUAL (r._subs.size(), 2); i = r._subs.begin (); |
