mirror of
https://github.com/nsnail/spectre.console.git
synced 2025-04-16 17:02:51 +08:00
parent
ca036f6543
commit
13ac38ed04
@ -21,7 +21,7 @@ namespace Spectre.Console.Testing
|
||||
IAnsiConsoleInput IAnsiConsole.Input => Input;
|
||||
|
||||
public FakeAnsiConsole(
|
||||
ColorSystem system,
|
||||
ColorSystem colors,
|
||||
AnsiSupport ansi = AnsiSupport.Yes,
|
||||
int width = 80)
|
||||
{
|
||||
@ -32,7 +32,7 @@ namespace Spectre.Console.Testing
|
||||
_console = factory.Create(new AnsiConsoleSettings
|
||||
{
|
||||
Ansi = ansi,
|
||||
ColorSystem = (ColorSystemSupport)system,
|
||||
ColorSystem = (ColorSystemSupport)colors,
|
||||
Out = _writer,
|
||||
Enrichment = new ProfileEnrichment
|
||||
{
|
||||
|
@ -1,3 +1,4 @@
|
||||
using System.IO;
|
||||
using Shouldly;
|
||||
using Spectre.Console.Testing;
|
||||
using Xunit;
|
||||
@ -6,6 +7,25 @@ namespace Spectre.Console.Tests.Unit
|
||||
{
|
||||
public partial class AnsiConsoleTests
|
||||
{
|
||||
[Theory]
|
||||
[InlineData(ColorSystemSupport.NoColors, ColorSystem.NoColors)]
|
||||
[InlineData(ColorSystemSupport.Legacy, ColorSystem.Legacy)]
|
||||
[InlineData(ColorSystemSupport.Standard, ColorSystem.Standard)]
|
||||
[InlineData(ColorSystemSupport.EightBit, ColorSystem.EightBit)]
|
||||
[InlineData(ColorSystemSupport.TrueColor, ColorSystem.TrueColor)]
|
||||
public void Should_Create_Console_With_Requested_ColorSystem(ColorSystemSupport requested, ColorSystem expected)
|
||||
{
|
||||
// Given, When
|
||||
var console = AnsiConsole.Create(new AnsiConsoleSettings
|
||||
{
|
||||
ColorSystem = requested,
|
||||
Out = new StringWriter(),
|
||||
});
|
||||
|
||||
// Then
|
||||
console.Profile.ColorSystem.ShouldBe(expected);
|
||||
}
|
||||
|
||||
public sealed class TrueColor
|
||||
{
|
||||
[Theory]
|
||||
|
23
src/Spectre.Console.Tests/Unit/ColorSystemTests.cs
Normal file
23
src/Spectre.Console.Tests/Unit/ColorSystemTests.cs
Normal file
@ -0,0 +1,23 @@
|
||||
using Shouldly;
|
||||
using Xunit;
|
||||
|
||||
namespace Spectre.Console.Tests.Unit
|
||||
{
|
||||
public sealed class ColorSystemTests
|
||||
{
|
||||
[Theory]
|
||||
[InlineData(ColorSystem.NoColors, ColorSystemSupport.NoColors)]
|
||||
[InlineData(ColorSystem.Legacy, ColorSystemSupport.Legacy)]
|
||||
[InlineData(ColorSystem.Standard, ColorSystemSupport.Standard)]
|
||||
[InlineData(ColorSystem.EightBit, ColorSystemSupport.EightBit)]
|
||||
[InlineData(ColorSystem.TrueColor, ColorSystemSupport.TrueColor)]
|
||||
public void Should_Be_Analog_To_ColorSystemSupport(ColorSystem colors, ColorSystemSupport support)
|
||||
{
|
||||
// Given, When
|
||||
var result = (int)colors;
|
||||
|
||||
// Then
|
||||
result.ShouldBe((int)support);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +1,5 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using Spectre.Console.Enrichment;
|
||||
using Spectre.Console.Internal;
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace Spectre.Console
|
||||
/// <summary>
|
||||
/// Gets or sets the color system to use.
|
||||
/// </summary>
|
||||
public ColorSystemSupport ColorSystem { get; set; }
|
||||
public ColorSystemSupport ColorSystem { get; set; } = ColorSystemSupport.Detect;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the out buffer.
|
||||
|
@ -8,31 +8,31 @@ namespace Spectre.Console
|
||||
/// <summary>
|
||||
/// Try to detect the color system.
|
||||
/// </summary>
|
||||
Detect = 0,
|
||||
Detect = -1,
|
||||
|
||||
/// <summary>
|
||||
/// No colors.
|
||||
/// </summary>
|
||||
NoColors = 1,
|
||||
NoColors = 0,
|
||||
|
||||
/// <summary>
|
||||
/// Legacy, 3-bit mode.
|
||||
/// </summary>
|
||||
Legacy = 2,
|
||||
Legacy = 1,
|
||||
|
||||
/// <summary>
|
||||
/// Standard, 4-bit mode.
|
||||
/// </summary>
|
||||
Standard = 3,
|
||||
Standard = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 8-bit mode.
|
||||
/// </summary>
|
||||
EightBit = 4,
|
||||
EightBit = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 24-bit mode.
|
||||
/// </summary>
|
||||
TrueColor = 5,
|
||||
TrueColor = 4,
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user