diff options
| author | Carl Hetherington <cth@carlh.net> | 2022-11-10 11:25:57 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2022-11-10 11:25:57 +0100 |
| commit | dc36525dc7d430aa00d4de4bd037ae5dbb004b32 (patch) | |
| tree | 47dd23cadfe380e897d3d63b14ec0d7193553d51 /test | |
| parent | 7996d08033ad274770639f4951b40263ded40e86 (diff) | |
Handle unicode LINE SEPARATOR properly in subrip files.v1.6.37
Diffstat (limited to 'test')
| -rw-r--r-- | test/data/newline.srt | 8 | ||||
| -rw-r--r-- | test/subrip_reader_test.cc | 24 |
2 files changed, 32 insertions, 0 deletions
diff --git a/test/data/newline.srt b/test/data/newline.srt new file mode 100644 index 0000000..a7b1660 --- /dev/null +++ b/test/data/newline.srt @@ -0,0 +1,8 @@ +1 +00:01:08,234 --> 00:01:10,570 +Du fühlst dich danach besser.
Okay, Kleiner? + +2 +00:01:40,642 --> 00:01:42,769 +Sie kann es nicht machen +wenn du dich bewegst. 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<std::vector<sub::Subtitle>>(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."); +} + |
