spectre.console/test/Spectre.Console.Tests/Unit/AnsiConsoleTests.MarkupInterpolated.cs
2022-08-29 08:54:30 +02:00

41 lines
1.2 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace Spectre.Console.Tests.Unit;
public partial class AnsiConsoleTests
{
public sealed class MarkupInterpolated
{
[Fact]
public void Should_Print_Simple_Interpolated_Strings()
{
// Given
var console = new TestConsole()
.Colors(ColorSystem.Standard)
.EmitAnsiSequences();
// When
const string Path = "file://c:/temp/[x].txt";
console.MarkupInterpolated($"[Green]{Path}[/]");
// Then
console.Output.ShouldBe($"{Path}");
}
[Fact]
public void Should_Not_Throw_Error_On_Links_Brackets()
{
// Given
var console = new TestConsole()
.Colors(ColorSystem.Standard)
.EmitAnsiSequences();
// When
const string Path = "file://c:/temp/[x].txt";
console.MarkupInterpolated($"[link={Path}]{Path}[/]");
// Then
var pathAsRegEx = Regex.Replace(Path, "([/\\[\\]\\\\])", "\\$1", RegexOptions.Compiled | RegexOptions.IgnoreCase);
console.Output.ShouldMatch($"\\]8;id=[0-9]+;{pathAsRegEx}\\\\{pathAsRegEx}\\]8;;\\\\");
}
}
}