SubtitleParserTests.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Emby.Naming.Common;
  2. using Emby.Naming.Subtitles;
  3. using Xunit;
  4. namespace Jellyfin.Naming.Tests.Subtitles
  5. {
  6. public class SubtitleParserTests
  7. {
  8. private SubtitleParser GetParser()
  9. {
  10. var options = new NamingOptions();
  11. return new SubtitleParser(options);
  12. }
  13. [Fact]
  14. public void TestSubtitles()
  15. {
  16. Test("The Skin I Live In (2011).srt", null, false, false);
  17. Test("The Skin I Live In (2011).eng.srt", "eng", false, false);
  18. Test("The Skin I Live In (2011).eng.default.srt", "eng", true, false);
  19. Test("The Skin I Live In (2011).eng.forced.srt", "eng", false, true);
  20. Test("The Skin I Live In (2011).eng.foreign.srt", "eng", false, true);
  21. Test("The Skin I Live In (2011).eng.default.foreign.srt", "eng", true, true);
  22. Test("The Skin I Live In (2011).default.foreign.eng.srt", "eng", true, true);
  23. }
  24. private void Test(string input, string language, bool isDefault, bool isForced)
  25. {
  26. var parser = GetParser();
  27. var result = parser.ParseFile(input);
  28. Assert.Equal(language, result.Language, true);
  29. Assert.Equal(isDefault, result.IsDefault);
  30. Assert.Equal(isForced, result.IsForced);
  31. }
  32. }
  33. }