Add some simple tests

This commit is contained in:
Bond_009
2020-04-19 15:18:28 +02:00
parent 3142c9b990
commit 7f4a229cd2
20 changed files with 155 additions and 60 deletions

View File

@@ -0,0 +1,35 @@
using System;
using MediaBrowser.Common.Extensions;
using Xunit;
namespace Jellyfin.Common.Tests.Extensions
{
public class StringExtensionsTests
{
[Theory]
[InlineData("Banana split", ' ', "Banana")]
[InlineData("Banana split", 'q', "Banana split")]
public void LeftPartCharTest(string str, char needle, string result)
{
Assert.Equal(result, str.AsSpan().LeftPart(needle).ToString());
}
[Theory]
[InlineData("Banana split", " ", "Banana")]
[InlineData("Banana split test", " split", "Banana")]
public void LeftPartWithoutStringComparisonTest(string str, string needle, string result)
{
Assert.Equal(result, str.AsSpan().LeftPart(needle).ToString());
}
[Theory]
[InlineData("Banana split", " ", StringComparison.Ordinal, "Banana")]
[InlineData("Banana split test", " split", StringComparison.Ordinal, "Banana")]
[InlineData("Banana split test", " Split", StringComparison.Ordinal, "Banana split test")]
[InlineData("Banana split test", " Splït", StringComparison.InvariantCultureIgnoreCase, "Banana split test")]
public void LeftPartTest(string str, string needle, StringComparison stringComparison, string result)
{
Assert.Equal(result, str.AsSpan().LeftPart(needle, stringComparison).ToString());
}
}
}

View File

@@ -0,0 +1,16 @@
using Emby.Server.Implementations.HttpServer;
using Xunit;
namespace Jellyfin.Server.Implementations.Tests.HttpServer
{
public class HttpServerTests
{
[Theory]
[InlineData("This is a clean string.", "This is a clean string.")]
[InlineData("This isn't \n\ra clean string.", "This isn't a clean string.")]
public void RemoveControlCharactersTest(string input, string result)
{
Assert.Equal(result, ResponseFilter.RemoveControlCharacters(input));
}
}
}

View File

@@ -0,0 +1,17 @@
using Emby.Server.Implementations.Library;
using Xunit;
namespace Jellyfin.Server.Implementations.Tests.Library
{
public class PathExtensionsTests
{
[Theory]
[InlineData("Superman: Red Son [imdbid=tt10985510]", "imdbid", "tt10985510")]
[InlineData("Superman: Red Son - tt10985510", "imdbid", "tt10985510")]
[InlineData("Superman: Red Son", "imdbid", null)]
public void GetAttributeValueTest(string input, string attribute, string? result)
{
Assert.Equal(result, PathExtensions.GetAttributeValue(input, attribute));
}
}
}