From dc36525dc7d430aa00d4de4bd037ae5dbb004b32 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 10 Nov 2022 11:25:57 +0100 Subject: Handle unicode LINE SEPARATOR properly in subrip files. --- test/subrip_reader_test.cc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'test/subrip_reader_test.cc') diff --git a/test/subrip_reader_test.cc b/test/subrip_reader_test.cc index 2daf84a..b364d57 100644 --- a/test/subrip_reader_test.cc +++ b/test/subrip_reader_test.cc @@ -656,3 +656,27 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test6) r._subs.clear (); } + +BOOST_AUTO_TEST_CASE(subrip_with_unicode_line_separator_test) +{ + auto f = fopen ("test/data/newline.srt", "r"); + BOOST_REQUIRE(f); + sub::SubripReader reader(f); + fclose(f); + auto subs = sub::collect>(reader.subtitles()); + + BOOST_REQUIRE_EQUAL(subs.size(), 2U); + + BOOST_REQUIRE_EQUAL(subs[0].lines.size(), 2U); + BOOST_REQUIRE_EQUAL(subs[0].lines[0].blocks.size(), 1U); + BOOST_CHECK_EQUAL(subs[0].lines[0].blocks[0].text, "Du fühlst dich danach besser."); + BOOST_REQUIRE_EQUAL(subs[0].lines[1].blocks.size(), 1U); + BOOST_CHECK_EQUAL(subs[0].lines[1].blocks[0].text, "Okay, Kleiner?"); + + BOOST_REQUIRE_EQUAL(subs[1].lines.size(), 2U); + BOOST_REQUIRE_EQUAL(subs[1].lines[0].blocks.size(), 1U); + BOOST_CHECK_EQUAL(subs[1].lines[0].blocks[0].text, "Sie kann es nicht machen"); + BOOST_REQUIRE_EQUAL(subs[1].lines[1].blocks.size(), 1U); + BOOST_CHECK_EQUAL(subs[1].lines[1].blocks[0].text, "wenn du dich bewegst."); +} + -- cgit v1.2.3