summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-09-27 23:03:15 +0100
committerCarl Hetherington <cth@carlh.net>2018-09-27 23:03:15 +0100
commitdf489ce37d6f26ffbad55296a3e684de70348d57 (patch)
treec7f1775ae743533ab16a47037ca9d50060cb3e5f
parentd4b8b95e2226522c2aa475f0189362c5c6bc58a3 (diff)
Cope with mixed-case subrip tags.
-rw-r--r--src/subrip_reader.cc2
-rw-r--r--test/subrip_reader_test.cc17
2 files changed, 18 insertions, 1 deletions
diff --git a/src/subrip_reader.cc b/src/subrip_reader.cc
index 45da3ab..02ee20a 100644
--- a/src/subrip_reader.cc
+++ b/src/subrip_reader.cc
@@ -227,7 +227,7 @@ SubripReader::convert_line (string t, RawSubtitle& p)
tag.clear ();
state = TEXT;
} else {
- tag += t[i];
+ tag += tolower (t[i]);
}
break;
}
diff --git a/test/subrip_reader_test.cc b/test/subrip_reader_test.cc
index 604f52a..f323f6a 100644
--- a/test/subrip_reader_test.cc
+++ b/test/subrip_reader_test.cc
@@ -333,6 +333,23 @@ BOOST_AUTO_TEST_CASE (subrip_reader_convert_line_test)
r._subs.clear ();
rs = sub::RawSubtitle();
+ r.convert_line ("<Font color=\"#ff0000\">some red text <b>in bold</b></font>", rs);
+ BOOST_CHECK_EQUAL (r._subs.size(), 2);
+ i = r._subs.begin ();
+ BOOST_CHECK_EQUAL (i->text, "some red text ");
+ BOOST_CHECK_EQUAL (i->bold, false);
+ BOOST_CHECK_CLOSE (i->colour.r, 1, 0.1);
+ BOOST_CHECK (fabs (i->colour.g) < 0.01);
+ BOOST_CHECK (fabs (i->colour.b) < 0.01);
+ ++i;
+ BOOST_CHECK_EQUAL (i->text, "in bold");
+ BOOST_CHECK_EQUAL (i->bold, true);
+ BOOST_CHECK_CLOSE (i->colour.r, 1, 0.1);
+ BOOST_CHECK (fabs (i->colour.g) < 0.01);
+ BOOST_CHECK (fabs (i->colour.b) < 0.01);
+ r._subs.clear ();
+
+ rs = sub::RawSubtitle();
r.convert_line ("<font color=\"#0000ff\">some blue text <b>in bold</b></font>", rs);
BOOST_CHECK_EQUAL (r._subs.size(), 2);
i = r._subs.begin ();