Files
spectre.console/test/Spectre.Console.Tests/Unit/AnsiConsoleTests.Advanced.cs
Patrik Svensson 52c1d9122b Add global usings (#668)
* Use global usings

* Fix namespace declarations for test projects
2021-12-23 16:50:31 +01:00

1.5 KiB

namespace Spectre.Console.Tests.Unit;
 
public sealed partial class AnsiConsoleTests
{
public sealed class Advanced
{
[Fact]
public void Should_Write_Ansi_Codes_To_Console_If_Supported()
{
// Given
var console = new TestConsole()
.SupportsAnsi(true)
.Colors(ColorSystem.Standard)
.EmitAnsiSequences();
 
// When
console.WriteAnsi("Hello");
 
// Then
console.Output.NormalizeLineEndings()
.ShouldBe("Hello");
}
 
[Fact]
public void Should_Not_Write_Ansi_Codes_To_Console_If_Not_Supported()
{
// Given
var console = new TestConsole()
.SupportsAnsi(false)
.Colors(ColorSystem.Standard)
.EmitAnsiSequences();
 
// When
console.WriteAnsi("Hello");
 
// Then
console.Output.NormalizeLineEndings()
.ShouldBeEmpty();
}
 
[Fact]
public void Should_Return_Ansi_For_Renderable()
{
// Given
var console = new TestConsole().Colors(ColorSystem.TrueColor);
var markup = new Console.Markup("[yellow]Hello [blue]World[/]![/]");
 
// When
var result = console.ToAnsi(markup);
 
// Then
result.ShouldBe("Hello World!");
}
}
}