diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-10-06 13:31:45 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-10-06 13:31:45 +0100 |
| commit | 630a56ad9e7ecfb42b1d761098820f9e492f9c4e (patch) | |
| tree | 18080ecfc5b716d22ae041908356b11350c87e0b /test/subrip_test.cc | |
| parent | 152b14ab5509678f3d68b52a1ed275cfdc38191b (diff) | |
Use libsub for subrip decoding; improve default position of srt subs.
Diffstat (limited to 'test/subrip_test.cc')
| -rw-r--r-- | test/subrip_test.cc | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/test/subrip_test.cc b/test/subrip_test.cc index 0827005c1..e18ee2ea5 100644 --- a/test/subrip_test.cc +++ b/test/subrip_test.cc @@ -35,152 +35,6 @@ using std::string; using boost::shared_ptr; using boost::dynamic_pointer_cast; -/** Test SubRip::convert_time */ -BOOST_AUTO_TEST_CASE (subrip_time_test) -{ - BOOST_CHECK_EQUAL (SubRip::convert_time ("00:03:10,500"), ContentTime::from_seconds ((3 * 60) + 10 + 0.5)); - BOOST_CHECK_EQUAL (SubRip::convert_time ("04:19:51,782"), ContentTime::from_seconds ((4 * 3600) + (19 * 60) + 51 + 0.782)); -} - -/** Test SubRip::convert_coordinate */ -BOOST_AUTO_TEST_CASE (subrip_coordinate_test) -{ - BOOST_CHECK_EQUAL (SubRip::convert_coordinate ("foo:42"), 42); - BOOST_CHECK_EQUAL (SubRip::convert_coordinate ("X1:999"), 999); -} - -/** Test SubRip::convert_content */ -BOOST_AUTO_TEST_CASE (subrip_content_test) -{ - list<string> c; - list<SubRipSubtitlePiece> p; - - c.push_back ("Hello world"); - p = SubRip::convert_content (c); - BOOST_CHECK_EQUAL (p.size(), 1); - BOOST_CHECK_EQUAL (p.front().text, "Hello world"); - c.clear (); - - c.push_back ("<b>Hello world</b>"); - p = SubRip::convert_content (c); - BOOST_CHECK_EQUAL (p.size(), 1); - BOOST_CHECK_EQUAL (p.front().text, "Hello world"); - BOOST_CHECK_EQUAL (p.front().bold, true); - c.clear (); - - c.push_back ("<i>Hello world</i>"); - p = SubRip::convert_content (c); - BOOST_CHECK_EQUAL (p.size(), 1); - BOOST_CHECK_EQUAL (p.front().text, "Hello world"); - BOOST_CHECK_EQUAL (p.front().italic, true); - c.clear (); - - c.push_back ("<u>Hello world</u>"); - p = SubRip::convert_content (c); - BOOST_CHECK_EQUAL (p.size(), 1); - BOOST_CHECK_EQUAL (p.front().text, "Hello world"); - BOOST_CHECK_EQUAL (p.front().underline, true); - c.clear (); - - c.push_back ("{b}Hello world{/b}"); - p = SubRip::convert_content (c); - BOOST_CHECK_EQUAL (p.size(), 1); - BOOST_CHECK_EQUAL (p.front().text, "Hello world"); - BOOST_CHECK_EQUAL (p.front().bold, true); - c.clear (); - - c.push_back ("{i}Hello world{/i}"); - p = SubRip::convert_content (c); - BOOST_CHECK_EQUAL (p.size(), 1); - BOOST_CHECK_EQUAL (p.front().text, "Hello world"); - BOOST_CHECK_EQUAL (p.front().italic, true); - c.clear (); - - c.push_back ("{u}Hello world{/u}"); - p = SubRip::convert_content (c); - BOOST_CHECK_EQUAL (p.size(), 1); - BOOST_CHECK_EQUAL (p.front().text, "Hello world"); - BOOST_CHECK_EQUAL (p.front().underline, true); - c.clear (); - - c.push_back ("<b>This is <i>nesting</i> of subtitles</b>"); - p = SubRip::convert_content (c); - BOOST_CHECK_EQUAL (p.size(), 3); - list<SubRipSubtitlePiece>::iterator i = p.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; - c.clear (); -} - -/** Test parsing of full SubRip file content */ -BOOST_AUTO_TEST_CASE (subrip_parse_test) -{ - shared_ptr<Film> film = new_test_film ("subrip_parse_test"); - shared_ptr<SubRipContent> content (new SubRipContent (film, "test/data/subrip.srt")); - content->examine (shared_ptr<Job> ()); - BOOST_CHECK_EQUAL (content->full_length(), DCPTime::from_seconds ((3 * 60) + 56.471)); - - SubRip s (content); - - vector<SubRipSubtitle>::const_iterator i = s._subtitles.begin(); - - BOOST_CHECK (i != s._subtitles.end ()); - BOOST_CHECK_EQUAL (i->period.from, ContentTime::from_seconds ((1 * 60) + 49.200)); - BOOST_CHECK_EQUAL (i->period.to, ContentTime::from_seconds ((1 * 60) + 52.351)); - BOOST_CHECK_EQUAL (i->pieces.size(), 1); - BOOST_CHECK_EQUAL (i->pieces.front().text, "This is a subtitle, and it goes over two lines."); - - ++i; - BOOST_CHECK (i != s._subtitles.end ()); - BOOST_CHECK_EQUAL (i->period.from, ContentTime::from_seconds ((1 * 60) + 52.440)); - BOOST_CHECK_EQUAL (i->period.to, ContentTime::from_seconds ((1 * 60) + 54.351)); - BOOST_CHECK_EQUAL (i->pieces.size(), 1); - BOOST_CHECK_EQUAL (i->pieces.front().text, "We have emboldened this"); - BOOST_CHECK_EQUAL (i->pieces.front().bold, true); - - ++i; - BOOST_CHECK (i != s._subtitles.end ()); - BOOST_CHECK_EQUAL (i->period.from, ContentTime::from_seconds ((1 * 60) + 54.440)); - BOOST_CHECK_EQUAL (i->period.to, ContentTime::from_seconds ((1 * 60) + 56.590)); - BOOST_CHECK_EQUAL (i->pieces.size(), 1); - BOOST_CHECK_EQUAL (i->pieces.front().text, "And italicised this."); - BOOST_CHECK_EQUAL (i->pieces.front().italic, true); - - ++i; - BOOST_CHECK (i != s._subtitles.end ()); - BOOST_CHECK_EQUAL (i->period.from, ContentTime::from_seconds ((1 * 60) + 56.680)); - BOOST_CHECK_EQUAL (i->period.to, ContentTime::from_seconds ((1 * 60) + 58.955)); - BOOST_CHECK_EQUAL (i->pieces.size(), 1); - BOOST_CHECK_EQUAL (i->pieces.front().text, "Shall I compare thee to a summers' day?"); - - ++i; - BOOST_CHECK (i != s._subtitles.end ()); - BOOST_CHECK_EQUAL (i->period.from, ContentTime::from_seconds ((2 * 60) + 0.840)); - BOOST_CHECK_EQUAL (i->period.to, ContentTime::from_seconds ((2 * 60) + 3.400)); - BOOST_CHECK_EQUAL (i->pieces.size(), 1); - BOOST_CHECK_EQUAL (i->pieces.front().text, "Is this a dagger I see before me?"); - - ++i; - BOOST_CHECK (i != s._subtitles.end ()); - BOOST_CHECK_EQUAL (i->period.from, ContentTime::from_seconds ((3 * 60) + 54.560)); - BOOST_CHECK_EQUAL (i->period.to, ContentTime::from_seconds ((3 * 60) + 56.471)); - BOOST_CHECK_EQUAL (i->pieces.size(), 1); - BOOST_CHECK_EQUAL (i->pieces.front().text, "Hello world."); - - ++i; - BOOST_CHECK (i == s._subtitles.end ()); -} - /** Test rendering of a SubRip subtitle */ BOOST_AUTO_TEST_CASE (subrip_render_test) { @@ -201,19 +55,3 @@ BOOST_AUTO_TEST_CASE (subrip_render_test) write_image (image.image, "build/test/subrip_render_test.png"); check_file ("build/test/subrip_render_test.png", "test/data/subrip_render_test.png"); } - -static void -test (boost::filesystem::path p) -{ - shared_ptr<Film> film = new_test_film ("subrip_read_test_" + p.string ()); - boost::filesystem::path t = private_data / p; - shared_ptr<SubRipContent> s (new SubRipContent (film, t)); - s->examine (shared_ptr<Job> ()); -} - -/** Test of reading some typical .srt files */ -BOOST_AUTO_TEST_CASE (subrip_read_test) -{ - test ("sintel_en.srt"); - test ("Fight.Club.1999.720p.BRRip.x264-x0r.srt"); -} |
