From 0515e416e1e31f5063fe7b68cb794cc0872ff3a2 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 1 Aug 2021 02:01:06 +0200 Subject: 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. --- test/subrip_reader_test.cc | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'test') 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 @@ -307,6 +307,24 @@ BOOST_AUTO_TEST_CASE (subrip_reader_convert_line_test) ++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); + ++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 ("simple color", rs); BOOST_CHECK_EQUAL (r._subs.size(), 1); @@ -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 */ -- cgit v1.2.3