using System.Text.RegularExpressions;
namespace TinyTUI.Tests.TestInfrastructure;
///
/// 提供 ANSI 感知的测试断言辅助
///
internal static partial class AnsiAssert
{
///
/// 移除常见 ANSI 控制序列后比较可见文本
///
public static void EqualVisible(string expected, string actual)
=> Assert.Equal(expected, AnsiRegex().Replace(actual, string.Empty));
///
/// 移除常见 ANSI 控制序列后判断可见文本是否包含指定片段
///
public static void ContainsVisible(string expected, string actual)
=> Assert.Contains(expected, AnsiRegex().Replace(actual, string.Empty), StringComparison.Ordinal);
[GeneratedRegex(@"\x1B(?:\[[0-?]*[ -/]*[@-~]|\][^\a]*(?:\a|\x1B\\)|_[^\a]*(?:\a|\x1B\\)|P[^\a]*(?:\a|\x1B\\))")]
private static partial Regex AnsiRegex();
}