Sfoglia il codice sorgente

Add regression test for #5323

Bond_009 3 anni fa
parent
commit
dc1b726ef8

+ 22 - 0
tests/Jellyfin.MediaEncoding.Tests/Subtitles/SrtParserTests.cs

@@ -31,5 +31,27 @@ namespace Jellyfin.MediaEncoding.Subtitles.Tests
                 Assert.Equal("Very good, Lieutenant.", trackEvent2.Text);
             }
         }
+
+        [Fact]
+        public void Parse_EmptyNewlineBetweenText_Success()
+        {
+            using (var stream = File.OpenRead("Test Data/example2.srt"))
+            {
+                var parsed = new SrtParser(new NullLogger<SrtParser>()).Parse(stream, CancellationToken.None);
+                Assert.Equal(2, parsed.TrackEvents.Count);
+
+                var trackEvent1 = parsed.TrackEvents[0];
+                Assert.Equal("311", trackEvent1.Id);
+                Assert.Equal(TimeSpan.Parse("00:16:46.465", CultureInfo.InvariantCulture).Ticks, trackEvent1.StartPositionTicks);
+                Assert.Equal(TimeSpan.Parse("00:16:49.009", CultureInfo.InvariantCulture).Ticks, trackEvent1.EndPositionTicks);
+                Assert.Equal("Una vez que la gente se entere" + Environment.NewLine + Environment.NewLine + "de que ustedes están aquí,", trackEvent1.Text);
+
+                var trackEvent2 = parsed.TrackEvents[1];
+                Assert.Equal("312", trackEvent2.Id);
+                Assert.Equal(TimeSpan.Parse("00:16:49.092", CultureInfo.InvariantCulture).Ticks, trackEvent2.StartPositionTicks);
+                Assert.Equal(TimeSpan.Parse("00:16:51.470", CultureInfo.InvariantCulture).Ticks, trackEvent2.EndPositionTicks);
+                Assert.Equal("este lugar se convertirá" + Environment.NewLine + Environment.NewLine + "en un maldito zoológico.", trackEvent2.Text);
+            }
+        }
     }
 }

+ 11 - 0
tests/Jellyfin.MediaEncoding.Tests/Test Data/example2.srt

@@ -0,0 +1,11 @@
+311
+00:16:46,465 --> 00:16:49,009
+Una vez que la gente se entere
+
+de que ustedes están aquí,
+
+312
+00:16:49,092 --> 00:16:51,470
+este lugar se convertirá
+
+en un maldito zoológico.