diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-08-01 02:01:06 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-08-01 02:01:06 +0200 |
| commit | 0515e416e1e31f5063fe7b68cb794cc0872ff3a2 (patch) | |
| tree | ce62a6754c4ea4ea31c9d99af9c4f231d968607b /test/subrip_reader_test.cc | |
| parent | c7b4dae773bca9099d2ecdd025e3539516c81966 (diff) | |
Handle angle brackets / tags better in SubRip files.
Before we would assume that < starts a tag, and so parse things
like << some text >> incorrectly. Now we search for the tags
we are interested in and pass anything else through.
Diffstat (limited to 'test/subrip_reader_test.cc')
| -rw-r--r-- | test/subrip_reader_test.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/subrip_reader_test.cc b/test/subrip_reader_test.cc index 818b6ad..2daf84a 100644 --- a/test/subrip_reader_test.cc +++ b/test/subrip_reader_test.cc @@ -308,6 +308,24 @@ BOOST_AUTO_TEST_CASE (subrip_reader_convert_line_test) r._subs.clear (); rs = sub::RawSubtitle(); + r.convert_line ("<B>This is <I>nesting</I> of subtitles</B>", 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); + ++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 ("<font color=\"#ff00ff\">simple color</font>", rs); BOOST_CHECK_EQUAL (r._subs.size(), 1); BOOST_CHECK_EQUAL (r._subs.front().text, "simple color"); @@ -377,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 */ |
