mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-27 00:07:58 +01:00
* Tons of API doc updates * Removed stale test * Removed stale tests * Fixed Skipped Shadow test 1 * Fixed Skipped Shadow test 2 * Fixed Skipped Shadow test 3 * Removed stale test * Removed stale test2 * Explicit unregister of event handler on Application.Driver!.ClearedContents * Added Toplevels to dict * code cleanup * spelling error * Removed stale test3 * Removed stale test4 * Removed stale test5 * added script * tweaked script * tweaked script * Created StressTests project; moved some tests * Created IntegrationTests project; moved some tests * New yml * made old yml just unit tests * Tweaked Button_IsDefault_Raises_Accepted_Correctly * tweaked script * cleaned up ymls * tweakled up ymls * stress tests... * stress tests on ubuntu only * Fixed WindowsDriver in InvokeLeakTest * Fixed WindowsDriver in InvokeLeakTest2 * Added Directory.Packages.props. Added Directory.Build.props * Shortened StressTest time * Removed dupe file. * DemoFiles * Moved all tests to ./Tests dir. * Fixed release build issue * Fixed .sln file * Fixed .sl* files * Fixing ymls * Fixing interation tests * Create link to the file TestHelpers. * Created Tests/UnitTestsParallelizable. Moved all obviously parallelizable tests. Updated yml. * fixing logs * fixing logs2 * fixing logs3 * don't require stress to pass for PRs * Fix a failure? * tweaked script * Coudl this be it? * Moved tons of tests to parallelizable * Fixed some stuff * Script to find duplicate tests * Testing workflows * Updated to v4 * Fix RelativeBasePath issue * Replace powershell to pwsh * Add ignore projects. * Removed dupe unit tests * Code cleanup of tests * Cleaned up test warnings * yml tweak * Moved setter * tweak ymls * just randomly throwing spaghetti at a wall * Enable runing 5 test runners in par * Turned off DEBUG_DISPOSABLE for par tests * RunningUnitTests=true * code cleanup (forcing more Action runs) * DISABLE_DEBUG_IDISPOSABLE * Added View.DebugIDisposable. False by default. * Remobed bogus tareet * Remobed bogus tareet2 * fixed warning * added api doc * fixed warning * fixed warning * fixed warning2 * fixed warning3 * fixed warning4 --------- Co-authored-by: BDisp <bd.bdisp@gmail.com>
330 lines
8.5 KiB
C#
330 lines
8.5 KiB
C#
using UnitTests;
|
|
using UnitTests;
|
|
using Xunit.Abstractions;
|
|
using static Terminal.Gui.Dim;
|
|
using static Terminal.Gui.Pos;
|
|
|
|
namespace Terminal.Gui.LayoutTests;
|
|
|
|
public class PosCenterTests (ITestOutputHelper output)
|
|
{
|
|
private readonly ITestOutputHelper _output = output;
|
|
|
|
[Theory]
|
|
[AutoInitShutdown]
|
|
[InlineData (1)]
|
|
[InlineData (2)]
|
|
[InlineData (3)]
|
|
[InlineData (4)]
|
|
[InlineData (5)]
|
|
[InlineData (6)]
|
|
[InlineData (7)]
|
|
[InlineData (8)]
|
|
[InlineData (9)]
|
|
[InlineData (10)]
|
|
public void PosCenter_SubView_85_Percent_Height (int height)
|
|
{
|
|
var win = new Window { Width = Fill (), Height = Fill () };
|
|
|
|
var subview = new Window
|
|
{
|
|
X = Center (), Y = Center (), Width = Dim.Percent (85), Height = Dim.Percent (85)
|
|
};
|
|
|
|
win.Add (subview);
|
|
|
|
RunState rs = Application.Begin (win);
|
|
var firstIteration = false;
|
|
|
|
((FakeDriver)Application.Driver!).SetBufferSize (20, height);
|
|
Application.RunIteration (ref rs, firstIteration);
|
|
var expected = string.Empty;
|
|
|
|
switch (height)
|
|
{
|
|
case 1:
|
|
//Assert.Equal (new (0, 0, 17, 0), subview.Frame);
|
|
expected = @"
|
|
────────────────────";
|
|
|
|
break;
|
|
case 2:
|
|
//Assert.Equal (new (0, 0, 17, 1), subview.Frame);
|
|
expected = @"
|
|
┌──────────────────┐
|
|
└──────────────────┘
|
|
";
|
|
|
|
break;
|
|
case 3:
|
|
//Assert.Equal (new (0, 0, 17, 2), subview.Frame);
|
|
expected = @"
|
|
┌──────────────────┐
|
|
│ │
|
|
└──────────────────┘
|
|
";
|
|
|
|
break;
|
|
case 4:
|
|
//Assert.Equal (new (0, 0, 17, 3), subview.Frame);
|
|
expected = @"
|
|
┌──────────────────┐
|
|
│ ─────────────── │
|
|
│ │
|
|
└──────────────────┘";
|
|
|
|
break;
|
|
case 5:
|
|
//Assert.Equal (new (0, 0, 17, 3), subview.Frame);
|
|
expected = @"
|
|
┌──────────────────┐
|
|
│ ┌─────────────┐ │
|
|
│ └─────────────┘ │
|
|
│ │
|
|
└──────────────────┘";
|
|
|
|
break;
|
|
case 6:
|
|
//Assert.Equal (new (0, 0, 17, 3), subview.Frame);
|
|
expected = @"
|
|
┌──────────────────┐
|
|
│ ┌─────────────┐ │
|
|
│ │ │ │
|
|
│ └─────────────┘ │
|
|
│ │
|
|
└──────────────────┘";
|
|
|
|
break;
|
|
case 7:
|
|
//Assert.Equal (new (0, 0, 17, 3), subview.Frame);
|
|
expected = @"
|
|
┌──────────────────┐
|
|
│ ┌─────────────┐ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ └─────────────┘ │
|
|
│ │
|
|
└──────────────────┘";
|
|
|
|
break;
|
|
case 8:
|
|
//Assert.Equal (new (0, 0, 17, 3), subview.Frame);
|
|
expected = @"
|
|
┌──────────────────┐
|
|
│ ┌─────────────┐ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ └─────────────┘ │
|
|
│ │
|
|
└──────────────────┘";
|
|
|
|
break;
|
|
case 9:
|
|
//Assert.Equal (new (0, 0, 17, 3), subview.Frame);
|
|
expected = @"
|
|
┌──────────────────┐
|
|
│ │
|
|
│ ┌─────────────┐ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ └─────────────┘ │
|
|
│ │
|
|
└──────────────────┘";
|
|
|
|
break;
|
|
case 10:
|
|
//Assert.Equal (new (0, 0, 17, 3), subview.Frame);
|
|
expected = @"
|
|
┌──────────────────┐
|
|
│ │
|
|
│ ┌─────────────┐ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ └─────────────┘ │
|
|
│ │
|
|
└──────────────────┘"
|
|
;
|
|
|
|
break;
|
|
}
|
|
|
|
_ = DriverAssert.AssertDriverContentsWithFrameAre (expected, _output);
|
|
Application.End (rs);
|
|
win.Dispose ();
|
|
}
|
|
|
|
[Theory]
|
|
[AutoInitShutdown]
|
|
[InlineData (1)]
|
|
[InlineData (2)]
|
|
[InlineData (3)]
|
|
[InlineData (4)]
|
|
[InlineData (5)]
|
|
[InlineData (6)]
|
|
[InlineData (7)]
|
|
[InlineData (8)]
|
|
[InlineData (9)]
|
|
[InlineData (10)]
|
|
public void PosCenter_SubView_85_Percent_Width (int width)
|
|
{
|
|
var win = new Window { Width = Fill (), Height = Fill () };
|
|
|
|
var subview = new Window
|
|
{
|
|
X = Center (), Y = Center (), Width = Dim.Percent (85), Height = Dim.Percent (85)
|
|
};
|
|
|
|
win.Add (subview);
|
|
|
|
RunState rs = Application.Begin (win);
|
|
var firstIteration = false;
|
|
|
|
((FakeDriver)Application.Driver!).SetBufferSize (width, 7);
|
|
Application.RunIteration (ref rs, firstIteration);
|
|
var expected = string.Empty;
|
|
|
|
switch (width)
|
|
{
|
|
case 1:
|
|
Assert.Equal (new (0, 0, 0, 4), subview.Frame);
|
|
|
|
expected = @"
|
|
│
|
|
│
|
|
│
|
|
│
|
|
│
|
|
│
|
|
│";
|
|
|
|
break;
|
|
case 2:
|
|
Assert.Equal (new (0, 0, 0, 4), subview.Frame);
|
|
|
|
expected = @"
|
|
┌┐
|
|
││
|
|
││
|
|
││
|
|
││
|
|
││
|
|
└┘";
|
|
|
|
break;
|
|
case 3:
|
|
Assert.Equal (new (0, 0, 0, 4), subview.Frame);
|
|
|
|
expected = @"
|
|
┌─┐
|
|
│ │
|
|
│ │
|
|
│ │
|
|
│ │
|
|
│ │
|
|
└─┘";
|
|
|
|
break;
|
|
case 4:
|
|
Assert.Equal (new (0, 0, 1, 4), subview.Frame);
|
|
|
|
expected = @"
|
|
┌──┐
|
|
││ │
|
|
││ │
|
|
││ │
|
|
││ │
|
|
│ │
|
|
└──┘";
|
|
|
|
break;
|
|
case 5:
|
|
Assert.Equal (new (0, 0, 2, 4), subview.Frame);
|
|
|
|
expected = @"
|
|
┌───┐
|
|
│┌┐ │
|
|
│││ │
|
|
│││ │
|
|
│└┘ │
|
|
│ │
|
|
└───┘";
|
|
|
|
break;
|
|
case 6:
|
|
Assert.Equal (new (0, 0, 3, 4), subview.Frame);
|
|
|
|
expected = @"
|
|
┌────┐
|
|
│┌─┐ │
|
|
││ │ │
|
|
││ │ │
|
|
│└─┘ │
|
|
│ │
|
|
└────┘";
|
|
|
|
break;
|
|
case 7:
|
|
Assert.Equal (new (0, 0, 4, 4), subview.Frame);
|
|
|
|
expected = @"
|
|
┌─────┐
|
|
│┌──┐ │
|
|
││ │ │
|
|
││ │ │
|
|
│└──┘ │
|
|
│ │
|
|
└─────┘";
|
|
|
|
break;
|
|
case 8:
|
|
Assert.Equal (new (0, 0, 5, 4), subview.Frame);
|
|
|
|
expected = @"
|
|
┌──────┐
|
|
│┌───┐ │
|
|
││ │ │
|
|
││ │ │
|
|
│└───┘ │
|
|
│ │
|
|
└──────┘";
|
|
|
|
break;
|
|
case 9:
|
|
Assert.Equal (new (1, 0, 5, 4), subview.Frame);
|
|
|
|
expected = @"
|
|
┌───────┐
|
|
│ ┌───┐ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ └───┘ │
|
|
│ │
|
|
└───────┘";
|
|
|
|
break;
|
|
case 10:
|
|
Assert.Equal (new (1, 0, 6, 4), subview.Frame);
|
|
|
|
expected = @"
|
|
┌────────┐
|
|
│ ┌────┐ │
|
|
│ │ │ │
|
|
│ │ │ │
|
|
│ └────┘ │
|
|
│ │
|
|
└────────┘"
|
|
;
|
|
|
|
break;
|
|
}
|
|
|
|
_ = DriverAssert.AssertDriverContentsWithFrameAre (expected, _output);
|
|
Application.End (rs);
|
|
win.Dispose ();
|
|
}
|
|
}
|