2
0
Эх сурвалжийг харах

Merge branch 'v2_develop' into v2_2491-Overlapped

Tig 10 сар өмнө
parent
commit
97870d72d7

+ 1 - 1
Terminal.Gui/Views/Menu/Menu.cs

@@ -101,7 +101,7 @@ internal sealed class Menu : View
 
 
             for (var i = 0; i < _barItems.Children?.Length; i++)
             for (var i = 0; i < _barItems.Children?.Length; i++)
             {
             {
-                if (_barItems.Children [i]!.IsEnabled ())
+                if (_barItems.Children [i]?.IsEnabled () == true)
                 {
                 {
                     _currentChild = i;
                     _currentChild = i;
 
 

+ 24 - 0
UnitTests/Views/MenuBarTests.cs

@@ -148,6 +148,30 @@ public class MenuBarTests (ITestOutputHelper output)
         top.Dispose ();
         top.Dispose ();
     }
     }
 
 
+    [Fact]
+    [AutoInitShutdown]
+    public void CanExecute_False_Does_Not_Throws ()
+    {
+        var menu = new MenuBar
+        {
+            Menus =
+            [
+                new ("File", new MenuItem []
+                {
+                    new ("New", "", null, () => false),
+                    null,
+                    new ("Quit", "", null)
+                })
+            ]
+        };
+        var top = new Toplevel ();
+        top.Add (menu);
+        Application.Begin (top);
+
+        Assert.True (menu.NewKeyDownEvent (menu.Key));
+        Assert.True (menu.IsMenuOpen);
+    }
+
     [Fact]
     [Fact]
     [AutoInitShutdown]
     [AutoInitShutdown]
     public void CanExecute_HotKey ()
     public void CanExecute_HotKey ()