Fix progress rendering bug

This commit is contained in:
Patrik Svensson
2020-12-04 10:11:12 +01:00
committed by Patrik Svensson
parent ae32785f21
commit 3c504155bc
12 changed files with 89 additions and 4 deletions

View File

@ -0,0 +1,5 @@
foo ━━━ 0% -:--:-- ⣷
bar ━━━ 0% -:--:-- ⣷
baz ━━━ 0% -:--:-- ⣷

View File

@ -0,0 +1,17 @@
namespace Spectre.Console.Tests
{
public sealed class DummyCursor : IAnsiConsoleCursor
{
public void Move(CursorDirection direction, int steps)
{
}
public void SetPosition(int column, int line)
{
}
public void Show(bool show)
{
}
}
}

View File

@ -11,7 +11,7 @@ namespace Spectre.Console.Tests
{
public Capabilities Capabilities { get; }
public Encoding Encoding { get; }
public IAnsiConsoleCursor Cursor => throw new NotSupportedException();
public IAnsiConsoleCursor Cursor => new DummyCursor();
public TestableConsoleInput Input { get; }
public int Width { get; }

View File

@ -1,4 +1,4 @@
namespace Spectre.Console.Tests.Tools
namespace Spectre.Console.Tests
{
public sealed class TestLinkIdentityGenerator : ILinkIdentityGenerator
{

View File

@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.IO;
using System.Text;
using Spectre.Console.Rendering;
using Spectre.Console.Tests.Tools;
namespace Spectre.Console.Tests
{

View File

@ -1,8 +1,11 @@
using System.Threading.Tasks;
using Shouldly;
using VerifyXunit;
using Xunit;
namespace Spectre.Console.Tests.Unit
{
[UsesVerify]
public sealed class ProgressTests
{
[Fact]
@ -54,5 +57,35 @@ namespace Spectre.Console.Tests.Unit
" \n" + // Bottom padding
"[?25h"); // show cursor
}
[Fact]
public Task Foo()
{
// Given
var console = new PlainConsole(width: 20);
var progress = new Progress(console)
.Columns(new ProgressColumn[]
{
new TaskDescriptionColumn(),
new ProgressBarColumn(),
new PercentageColumn(),
new RemainingTimeColumn(),
new SpinnerColumn(),
})
.AutoRefresh(false)
.AutoClear(false);
// When
progress.Start(ctx =>
{
ctx.AddTask("foo");
ctx.AddTask("bar");
ctx.AddTask("baz");
});
// Then
return Verifier.Verify(console.Output);
}
}
}