} state = COUNTER;
char buffer[256];
- int next_count = 1;
boost::optional<SubRipSubtitle> current;
list<string> lines;
-
+
while (!feof (f)) {
fgets (buffer, sizeof (buffer), f);
if (feof (f)) {
break;
}
-
+
string line (buffer);
trim_right_if (line, boost::is_any_of ("\n\r"));
-
+
switch (state) {
case COUNTER:
{
/* a blank line at the start is ok */
break;
}
-
- int x = 0;
- try {
- x = lexical_cast<int> (line);
- } catch (...) {
- }
-
- if (x == next_count) {
- state = METADATA;
- ++next_count;
- current = SubRipSubtitle ();
- } else {
- throw SubRipError (line, _("a subtitle count"), content->path (0));
- }
+ state = METADATA;
+ current = SubRipSubtitle ();
}
break;
case METADATA:
check_file ("build/test/subrip_render_test.png", "test/data/subrip_render_test.png");
}
-/** Test of reading a typical .srt */
-BOOST_AUTO_TEST_CASE (subrip_read_test)
+static void
+test (boost::filesystem::path p)
{
- shared_ptr<Film> film = new_test_film ("subrip_read_test");
- boost::filesystem::path p = private_data / "sintel_en.srt";
- shared_ptr<SubRipContent> s (new SubRipContent (film, 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");
+}