diff --git a/lib/parser.rb b/lib/parser.rb index 24341d0..c3a718d 100644 --- a/lib/parser.rb +++ b/lib/parser.rb @@ -150,6 +150,8 @@ def parse @start = Timestamp.new $1 @end = Timestamp.new $2 @style = Hash[$3.strip.split(" ").map{|s| s.split(":").map(&:strip) }] + else + return end @text = lines[1..-1].join("\n") end diff --git a/tests/parser.rb b/tests/parser.rb index 381a800..3d2ee71 100644 --- a/tests/parser.rb +++ b/tests/parser.rb @@ -210,4 +210,10 @@ def test_invalid_cue webvtt = WebVTT.convert_from_srt("tests/subtitles/invalid_cue.srt") assert_equal 1, webvtt.cues.size end + + def test_invalid_cue_time + cue_string = open("tests/subtitles/invalid_cue_time.srt").read + cue = WebVTT::Cue.parse(cue_string) + assert_nil cue.text + end end diff --git a/tests/subtitles/invalid_cue_time.srt b/tests/subtitles/invalid_cue_time.srt new file mode 100644 index 0000000..620142c --- /dev/null +++ b/tests/subtitles/invalid_cue_time.srt @@ -0,0 +1,3 @@ +9999 +00:00:0,500 --> 00:00:2,00 +www.tvsubtitles.net