mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-29 09:18:01 +01:00
Add test for Int.Max minwidth
This commit is contained in:
@@ -704,7 +704,9 @@ namespace Terminal.Gui {
|
||||
if (availableLeft < requiredLeft) {
|
||||
|
||||
// There is not enough space for panel on left
|
||||
var insteadTake = requiredLeft + (HasBorder() ? 1 :0);
|
||||
var insteadTake = requiredLeft == int.MaxValue ?
|
||||
int.MaxValue :
|
||||
requiredLeft + (HasBorder() ? 1 :0);
|
||||
|
||||
// Don't take more than the available space in view
|
||||
insteadTake = Math.Max(0,Math.Min (fullSpace, insteadTake));
|
||||
|
||||
@@ -908,33 +908,26 @@ namespace UnitTests {
|
||||
[Fact,AutoInitShutdown]
|
||||
public void Test5Panel_MinSizes_VerticalSplitters()
|
||||
{
|
||||
|
||||
var tv = new TileView (5){ Width = 25, Height = 4, ColorScheme = new ColorScheme (), IntegratedBorder = BorderStyle.Single };
|
||||
var tv = Get5x1TilesView();
|
||||
|
||||
tv.Tiles.ElementAt (0).View.Add (new Label(new string('1',100)){AutoSize=false,Width=Dim.Fill(),Height = 1});
|
||||
tv.Tiles.ElementAt (1).View.Add (new Label(new string('2',100)){AutoSize=false,Width=Dim.Fill(),Height = 1});
|
||||
tv.Tiles.ElementAt (2).View.Add (new Label(new string('3',100)){AutoSize=false,Width=Dim.Fill(),Height = 1});
|
||||
tv.Tiles.ElementAt (3).View.Add (new Label(new string('4',100)){AutoSize=false,Width=Dim.Fill(),Height = 1});
|
||||
tv.Tiles.ElementAt (4).View.Add (new Label(new string('5',100)){AutoSize=false,Width=Dim.Fill(),Height = 1});
|
||||
|
||||
Application.Top.Add (tv);
|
||||
tv.BeginInit ();
|
||||
tv.EndInit ();
|
||||
tv.LayoutSubviews ();
|
||||
tv.Tiles.ElementAt(0).MinSize = int.MaxValue;
|
||||
tv.SetNeedsDisplay();
|
||||
tv.LayoutSubviews();
|
||||
|
||||
Assert.True(tv.IsInitialized);
|
||||
|
||||
tv.Redraw (tv.Bounds);
|
||||
|
||||
var looksLike =
|
||||
@"
|
||||
┌────┬────┬────┬────┬───┐
|
||||
│1111│2222│3333│4444│555│
|
||||
│ │ │ │ │ │
|
||||
└────┴────┴────┴────┴───┘
|
||||
┌───────────────────────┐
|
||||
│11111111111111111111111│
|
||||
│ │
|
||||
└───────────────────────┘
|
||||
";
|
||||
TestHelpers.AssertDriverContentsAre (looksLike, output);
|
||||
|
||||
// TODO : Apply min sizes and create test assertions
|
||||
|
||||
}
|
||||
|
||||
[Fact, AutoInitShutdown]
|
||||
@@ -1418,6 +1411,37 @@ namespace UnitTests {
|
||||
Assert.True (line.HasFocus);
|
||||
}
|
||||
|
||||
|
||||
private TileView Get5x1TilesView ()
|
||||
{
|
||||
var tv = new TileView (5){ Width = 25, Height = 4, ColorScheme = new ColorScheme (), IntegratedBorder = BorderStyle.Single };
|
||||
|
||||
tv.Tiles.ElementAt (0).View.Add (new Label(new string('1',100)){AutoSize=false,Width=Dim.Fill(),Height = 1});
|
||||
tv.Tiles.ElementAt (1).View.Add (new Label(new string('2',100)){AutoSize=false,Width=Dim.Fill(),Height = 1});
|
||||
tv.Tiles.ElementAt (2).View.Add (new Label(new string('3',100)){AutoSize=false,Width=Dim.Fill(),Height = 1});
|
||||
tv.Tiles.ElementAt (3).View.Add (new Label(new string('4',100)){AutoSize=false,Width=Dim.Fill(),Height = 1});
|
||||
tv.Tiles.ElementAt (4).View.Add (new Label(new string('5',100)){AutoSize=false,Width=Dim.Fill(),Height = 1});
|
||||
|
||||
Application.Top.Add (tv);
|
||||
tv.BeginInit ();
|
||||
tv.EndInit ();
|
||||
tv.LayoutSubviews ();
|
||||
|
||||
|
||||
tv.Redraw (tv.Bounds);
|
||||
|
||||
var looksLike =
|
||||
@"
|
||||
┌────┬────┬────┬────┬───┐
|
||||
│1111│2222│3333│4444│555│
|
||||
│ │ │ │ │ │
|
||||
└────┴────┴────┴────┴───┘
|
||||
";
|
||||
TestHelpers.AssertDriverContentsAre (looksLike, output);
|
||||
|
||||
return tv;
|
||||
}
|
||||
|
||||
private TileView Get11By3TileView (out LineView line, bool withBorder = false)
|
||||
{
|
||||
var split = Get11By3TileView (withBorder);
|
||||
|
||||
Reference in New Issue
Block a user