mirror of
https://github.com/bitwarden/server.git
synced 2024-11-25 12:45:18 +01:00
ae1fdb0992
* Upgrade to .NET 8 * Linting * Clean up old JSON deserialization code * More .NET 8-oriented linting * Light feedback * Get rid of old test we don't know the root issue for * Fix a new test * Remove now-unnecessary Renovate constraint * Use Any() * Somehow a 6.0 tooling config we don't need snuck back in * Space out properties that always change per release * Bump a few core packages since the last update
35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
using Bit.Core.Utilities;
|
|
using Xunit;
|
|
|
|
#nullable enable
|
|
|
|
namespace Bit.Core.Test.Utilities;
|
|
|
|
public class SpanExtensionsTests
|
|
{
|
|
[Theory]
|
|
[InlineData(".", "", "")]
|
|
[InlineData("T.T", "T", "T")]
|
|
[InlineData("T.", "T", "")]
|
|
[InlineData(".T", "", "T")]
|
|
[InlineData("T.T.T", "T", "T.T")]
|
|
public void TrySplitBy_CanSplit_Success(string fullString, string firstPart, string secondPart)
|
|
{
|
|
var success = fullString.AsSpan().TrySplitBy('.', out var firstPartSpan, out var secondPartSpan);
|
|
Assert.True(success);
|
|
Assert.Equal(firstPart, firstPartSpan.ToString());
|
|
Assert.Equal(secondPart, secondPartSpan.ToString());
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("Test", '.')]
|
|
[InlineData("Other test", 'S')]
|
|
public void TrySplitBy_CanNotSplit_Success(string fullString, char splitChar)
|
|
{
|
|
var success = fullString.AsSpan().TrySplitBy(splitChar, out var splitChunk, out var rest);
|
|
Assert.False(success);
|
|
Assert.True(splitChunk.IsEmpty);
|
|
Assert.Equal(fullString, rest.ToString());
|
|
}
|
|
}
|