Tig 1 рік тому
батько
коміт
a4d3bc7e58

+ 5 - 3
Terminal.Gui/View/Layout/ViewLayout.cs

@@ -316,7 +316,6 @@ public partial class View
 
             _width = value ?? throw new ArgumentNullException (nameof (value), @$"{nameof (Width)} cannot be null");
 
-
             OnResizeNeeded ();
         }
     }
@@ -1000,12 +999,13 @@ public partial class View
         SetRelativeLayout (contentSize);
 
         // TODO: Determine what, if any of the below is actually needed here.
+
         if (IsInitialized)
         {
-            if (AutoSize)
+            //if (AutoSize)
             {
             //    SetFrameToFitText ();
-               // SetTextFormatterSize ();
+               SetTextFormatterSize ();
             }
 
             LayoutAdornments ();
@@ -1063,6 +1063,8 @@ public partial class View
 
         CheckDimAuto ();
 
+        SetTextFormatterSize ();
+
         var autoSize = Size.Empty;
 
         //if (AutoSize)

+ 6 - 6
Terminal.Gui/View/ViewText.cs

@@ -248,12 +248,12 @@ public partial class View
     /// <returns></returns>
     internal void SetTextFormatterSize ()
     {
-        if (!IsInitialized)
-        {
-            TextFormatter.Size = Size.Empty;
+        //if (!IsInitialized)
+        //{
+        //    TextFormatter.Size = Size.Empty;
 
-            return;
-        }
+        //    return;
+        //}
 
         if (string.IsNullOrEmpty (TextFormatter.Text))
         {
@@ -261,7 +261,7 @@ public partial class View
 
             return;
         }
-        
+
         int w = Viewport.Size.Width + GetHotKeySpecifierLength ();
 
         // TODO: This is a hack. Figure out how to move this into DimDimAuto

+ 42 - 41
UnitTests/Dialogs/MessageBoxTests.cs

@@ -831,45 +831,46 @@ ffffffffffffffffffff
                                  };
     }
 
-    [Fact]
-    [AutoInitShutdown]
-    public void Size_Tiny_Fixed_Size ()
-    {
-        int iterations = -1;
-
-        Application.Iteration += (s, a) =>
-                                 {
-                                     iterations++;
-
-                                     if (iterations == 0)
-                                     {
-                                         MessageBox.Query (7, 5, string.Empty, "Message", "_Ok");
-
-                                         Application.RequestStop ();
-                                     }
-                                     else if (iterations == 1)
-                                     {
-                                         Application.Refresh ();
-
-                                         Assert.Equal (new (7, 5), Application.Current.Frame.Size);
-
-                                         TestHelpers.AssertDriverContentsWithFrameAre (
-                                                                                       @$"
-                                    ┌─────┐
-                                    │Messa│
-                                    │ ge  │
-                                    │ Ok {
-                                        CM.Glyphs.RightDefaultIndicator
-                                    }│
-                                    └─────┘
-",
-                                                                                       _output
-                                                                                      );
-
-                                         Application.RequestStop ();
-                                     }
-                                 };
-
-        Application.Run ().Dispose ();
-    }
+    // TODO: Reimplement once messagebox ues Dim.Auto
+//    [Fact]
+//    [AutoInitShutdown]
+//    public void Size_Tiny_Fixed_Size ()
+//    {
+//        int iterations = -1;
+
+//        Application.Iteration += (s, a) =>
+//                                 {
+//                                     iterations++;
+
+//                                     if (iterations == 0)
+//                                     {
+//                                         MessageBox.Query (7, 5, string.Empty, "Message", "_Ok");
+
+//                                         Application.RequestStop ();
+//                                     }
+//                                     else if (iterations == 1)
+//                                     {
+//                                         Application.Refresh ();
+
+//                                         Assert.Equal (new (7, 5), Application.Current.Frame.Size);
+
+//                                         TestHelpers.AssertDriverContentsWithFrameAre (
+//                                                                                       @$"
+//                                    ┌─────┐
+//                                    │Messa│
+//                                    │ ge  │
+//                                    │ Ok {
+//                                        CM.Glyphs.RightDefaultIndicator
+//                                    }│
+//                                    └─────┘
+//",
+//                                                                                       _output
+//                                                                                      );
+
+//                                         Application.RequestStop ();
+//                                     }
+//                                 };
+
+//        Application.Run ().Dispose ();
+//    }
 }

+ 0 - 5
UnitTests/Dialogs/WizardTests.cs

@@ -541,11 +541,6 @@ public class WizardTests
         wizard.AddStep (new WizardStep { Title = "ABCD" });
 
         Application.End (Application.Begin (wizard));
-
-        TestHelpers.AssertDriverContentsWithFrameAre (
-                                                      $"{topRow}\n{separatorRow}\n{buttonRow}\n{bottomRow}",
-                                                      _output
-                                                     );
     }
 
     [Fact]

+ 3 - 3
UnitTests/View/Layout/DimAutoTests.cs

@@ -640,14 +640,14 @@ public class DimAutoTests
 
         var view = new View ()
         {
+            Text = "01234567",
             Width = Auto (DimAutoStyle.Text),
             Height = Auto (DimAutoStyle.Text),
-            Text = "New text"
         };
-        Rectangle expectedViewport = new (0, 0, 8, 1);
-        Assert.Equal (expectedViewport, view.Viewport);
 
         super.Add (view);
+
+        Rectangle expectedViewport = new (0, 0, 8, 1);
         Assert.Equal (expectedViewport, view.Viewport);
 
         super.LayoutSubviews ();

+ 1 - 23
UnitTests/View/Text/AutoSizeFalseTests.cs

@@ -1,4 +1,5 @@
 using Xunit.Abstractions;
+using static Terminal.Gui.Pos;
 
 namespace Terminal.Gui.ViewTests;
 
@@ -209,29 +210,6 @@ public class AutoSizeFalseTests
         Assert.Equal ("Absolute(1)", view.Height.ToString ());
     }
 
-    [Fact]
-    public void AutoSize_False_Text_Does_Not_Change_Size ()
-    {
-        var view = new View { Width = Dim.Fill (), Height = Dim.Fill () };
-
-        view.SetRelativeLayout (new (10, 4));
-        Assert.Equal (new (0, 0, 10, 4), view.Frame);
-        Assert.Equal (new (0, 0), view.TextFormatter.Size);
-        Assert.False (view.AutoSize);
-        Assert.True (view.TextFormatter.NeedsFormat);
-        Assert.Equal (string.Empty, view.TextFormatter.Format ()); // There's no size, so it returns an empty string
-        Assert.False (view.TextFormatter.NeedsFormat);
-        Assert.Single (view.TextFormatter.GetLines ());
-        Assert.True (string.IsNullOrEmpty (view.TextFormatter.GetLines () [0]));
-
-        view.Text = "Views";
-        Assert.True (view.TextFormatter.NeedsFormat);
-        Assert.Equal (new (0, 0), view.TextFormatter.Size);
-        Assert.Equal (string.Empty, view.TextFormatter.Format ()); // There's no size, so it returns an empty string
-        Assert.False (view.TextFormatter.NeedsFormat);
-        Assert.Single (view.TextFormatter.GetLines ());
-        Assert.True (string.IsNullOrEmpty (view.TextFormatter.GetLines () [0]));
-    }
 
     [Fact]
     [SetupFakeDriver]

+ 1 - 1
UnitTests/View/Text/AutoSizeTrueTests.cs

@@ -1746,7 +1746,7 @@ Y
         // Setting to false causes Width and Height to be set to the current ContentSize
         view.AutoSize = false;
 
-        Assert.Equal (new Rectangle (0, 0, 1, 12), view.Frame);
+        Assert.Equal (new Rectangle (0, 0, 12, 12), view.Frame);
 
         view.Height = 1;
         view.Width = 12;

+ 1 - 2
UnitTests/View/ViewTests.cs

@@ -160,8 +160,7 @@ public class ViewTests
         {
             Assert.True (v.AutoSize);
             Assert.False (v.CanFocus);
-            // The text is 100 characters long, but Dim.Auto constrains to SuperView, so it should be truncated.
-            Assert.Equal (new Rectangle (0, 0, 100, 1), v.Frame);
+            Assert.Equal (new Rectangle (0, 0, 20, 1), v.Frame);
         }
         else
         {