Fixes #3475. FakeConsole throws System.IndexOutOfRangeException using SetupFakeDriverAttribute.

This commit is contained in:
BDisp
2024-05-13 14:39:41 +01:00
parent aa78014215
commit d8ec2a8bfe
2 changed files with 24 additions and 0 deletions

View File

@@ -40,6 +40,28 @@ public class FakeDriver : ConsoleDriver
public static Behaviors FakeBehaviors = new ();
public override bool SupportsTrueColor => false;
/// <inheritdoc />
public override int Cols
{
get => base.Cols;
internal set
{
base.Cols = value;
FakeConsole.SetBufferSize (Cols, Rows);
}
}
/// <inheritdoc />
public override int Rows
{
get => base.Rows;
internal set
{
base.Rows = value;
FakeConsole.SetBufferSize (Cols, Rows);
}
}
public FakeDriver ()
{
Cols = FakeConsole.WindowWidth = FakeConsole.BufferWidth = FakeConsole.WIDTH;

View File

@@ -171,6 +171,8 @@ public class SetupFakeDriverAttribute : BeforeAfterTestAttribute
Debug.WriteLine ($"Before: {methodUnderTest.Name}");
Assert.Null (Application.Driver);
Application.Driver = new FakeDriver { Rows = 25, Cols = 25 };
Assert.Equal (FakeConsole.BufferWidth, Application.Driver.Cols);
Assert.Equal (FakeConsole.BufferHeight, Application.Driver.Rows);
base.Before (methodUnderTest);
}
}