| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | using System;using MediaBrowser.Common.Providers;using Xunit;namespace Jellyfin.Common.Tests.Providers{    public class ProviderIdParserTests    {        [Theory]        [InlineData("tt1234567", "tt1234567")]        [InlineData("tt12345678", "tt12345678")]        [InlineData("https://www.imdb.com/title/tt1234567", "tt1234567")]        [InlineData("https://www.imdb.com/title/tt12345678", "tt12345678")]        [InlineData(@"multiline\nhttps://www.imdb.com/title/tt1234567", "tt1234567")]        [InlineData(@"multiline\nhttps://www.imdb.com/title/tt12345678", "tt12345678")]        [InlineData("tt1234567tt7654321", "tt1234567")]        [InlineData("tt12345678tt7654321", "tt12345678")]        [InlineData("tt123456789", "tt12345678")]        public void FindImdbId_Valid_Success(string text, string expected)        {            Assert.True(ProviderIdParsers.TryFindImdbId(text, out ReadOnlySpan<char> parsedId));            Assert.Equal(expected, parsedId.ToString());        }        [Theory]        [InlineData("tt123456")]        [InlineData("https://www.imdb.com/title/tt123456")]        [InlineData("Jellyfin")]        public void FindImdbId_Invalid_Success(string text)        {            Assert.False(ProviderIdParsers.TryFindImdbId(text, out _));        }        [Theory]        [InlineData("https://www.themoviedb.org/movie/30287-fallo", "30287")]        [InlineData("themoviedb.org/movie/30287", "30287")]        public void FindTmdbMovieId_Valid_Success(string text, string expected)        {            Assert.True(ProviderIdParsers.TryFindTmdbMovieId(text, out ReadOnlySpan<char> parsedId));            Assert.Equal(expected, parsedId.ToString());        }        [Theory]        [InlineData("https://www.themoviedb.org/movie/fallo-30287")]        [InlineData("https://www.themoviedb.org/tv/1668-friends")]        public void FindTmdbMovieId_Invalid_Success(string text)        {            Assert.False(ProviderIdParsers.TryFindTmdbMovieId(text, out _));        }        [Theory]        [InlineData("https://www.themoviedb.org/tv/1668-friends", "1668")]        [InlineData("themoviedb.org/tv/1668", "1668")]        public void FindTmdbSeriesId_Valid_Success(string text, string expected)        {            Assert.True(ProviderIdParsers.TryFindTmdbSeriesId(text, out ReadOnlySpan<char> parsedId));            Assert.Equal(expected, parsedId.ToString());        }        [Theory]        [InlineData("https://www.themoviedb.org/tv/friends-1668")]        [InlineData("https://www.themoviedb.org/movie/30287-fallo")]        public void FindTmdbSeriesId_Invalid_Success(string text)        {            Assert.False(ProviderIdParsers.TryFindTmdbSeriesId(text, out _));        }        [Theory]        [InlineData("https://www.thetvdb.com/?tab=series&id=121361", "121361")]        [InlineData("thetvdb.com/?tab=series&id=121361", "121361")]        public void FindTvdbId_Valid_Success(string text, string expected)        {            Assert.True(ProviderIdParsers.TryFindTvdbId(text, out ReadOnlySpan<char> parsedId));            Assert.Equal(expected, parsedId.ToString());        }        [Theory]        [InlineData("thetvdb.com/?tab=series&id=Jellyfin121361")]        [InlineData("https://www.themoviedb.org/tv/1668-friends")]        public void FindTvdbId_Invalid_Success(string text)        {            Assert.False(ProviderIdParsers.TryFindTvdbId(text, out _));        }    }}
 |