mirror of
https://github.com/ldqk/Masuit.Tools.git
synced 2026-10-29 04:37:01 +08:00
全面用SkiaSharp替换ImageSharp进行图像处理,包括哈希、边框检测、水印、验证码、图片工具等模块。重构IImageTransformer及相关接口和实现,调整测试用例以适配SkiaSharp。移除ImageSharp依赖,新增SkiaSharp依赖。同步升级部分依赖包版本。优化部分算法性能,提升跨平台兼容性。
51 lines
1.1 KiB
C#
51 lines
1.1 KiB
C#
using Masuit.Tools.Strings;
|
|
using Xunit;
|
|
|
|
namespace Masuit.Tools.Abstractions.Test.Strings;
|
|
|
|
public class StringTest
|
|
{
|
|
[Fact]
|
|
public void Can_MeasureString()
|
|
{
|
|
// arrange
|
|
const string s = "1a啊🥳∰㍰ⅷ㍿👩❤️💋👩";
|
|
|
|
// act
|
|
var width = s.StringWidth();
|
|
var charCount = s.CharacterCount();
|
|
var bytesCount = s.BytesCount();
|
|
var matchEmoji = s.MatchEmoji();
|
|
|
|
// assert
|
|
Assert.True(width <= 12);
|
|
Assert.Equal(charCount, 9);
|
|
Assert.Equal(bytesCount, 48);
|
|
Assert.True(matchEmoji);
|
|
}
|
|
|
|
[Fact]
|
|
public void Can_Mask()
|
|
{
|
|
// arrange
|
|
const string s = "13123456789";
|
|
|
|
// act
|
|
var mask = s.Mask();
|
|
|
|
// assert
|
|
Assert.Equal(mask, "131****6789");
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("11@1.cn", "1****@1.cn")]
|
|
[InlineData("admin@masuit.com", "a****@masuit.com")]
|
|
public void Can_MaskEmail(string input, string expect)
|
|
{
|
|
// act
|
|
var mask = input.MaskEmail();
|
|
|
|
// assert
|
|
Assert.Equal(mask, expect);
|
|
}
|
|
} |