|
|
@@ -24,7 +24,7 @@ public class MenuBarv2Tests
|
|
|
public void Initializes_WithNoItems (TestDriver d)
|
|
|
{
|
|
|
using GuiTestContext c = With.A<Window> (80, 25, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((_) =>
|
|
|
{
|
|
|
// Create a menu bar with no items
|
|
|
var menuBar = new MenuBarv2 ();
|
|
|
@@ -42,7 +42,7 @@ public class MenuBarv2Tests
|
|
|
MenuBarItemv2 [] menuItems = [];
|
|
|
|
|
|
using GuiTestContext c = With.A<Window> (80, 25, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((_) =>
|
|
|
{
|
|
|
// Create items for the menu bar
|
|
|
menuItems =
|
|
|
@@ -79,7 +79,7 @@ public class MenuBarv2Tests
|
|
|
public void AddsItems_WithMenusProperty (TestDriver d)
|
|
|
{
|
|
|
using GuiTestContext c = With.A<Window> (80, 25, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((_) =>
|
|
|
{
|
|
|
var menuBar = new MenuBarv2 ();
|
|
|
|
|
|
@@ -100,7 +100,7 @@ public class MenuBarv2Tests
|
|
|
public void ChangesKey_RaisesEvent (TestDriver d)
|
|
|
{
|
|
|
using GuiTestContext c = With.A<Window> (80, 25, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((_) =>
|
|
|
{
|
|
|
var menuBar = new MenuBarv2 ();
|
|
|
|
|
|
@@ -137,12 +137,13 @@ public class MenuBarv2Tests
|
|
|
public void DefaultKey_Activates (TestDriver d)
|
|
|
{
|
|
|
MenuBarv2? menuBar = null;
|
|
|
+ Toplevel? top = null;
|
|
|
|
|
|
using GuiTestContext c = With.A<Window> (50, 20, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((app) =>
|
|
|
{
|
|
|
menuBar = new MenuBarv2 ();
|
|
|
- Toplevel top = Application.Current!;
|
|
|
+ top = app.Current!;
|
|
|
|
|
|
top.Add (
|
|
|
new View ()
|
|
|
@@ -155,13 +156,13 @@ public class MenuBarv2Tests
|
|
|
Application.Current!.Add (menuBar);
|
|
|
})
|
|
|
.WaitIteration ()
|
|
|
- .AssertIsNotType<MenuItemv2> (Application.Navigation!.GetFocused ())
|
|
|
+ .AssertIsNotType<MenuItemv2> (top?.App?.Navigation!.GetFocused ())
|
|
|
.ScreenShot ("MenuBar initial state", _out)
|
|
|
.EnqueueKeyEvent (MenuBarv2.DefaultKey)
|
|
|
.WaitIteration ()
|
|
|
.ScreenShot ($"After {MenuBarv2.DefaultKey}", _out)
|
|
|
- .AssertEqual ("_New file", Application.Navigation!.GetFocused ()!.Title)
|
|
|
- .AssertTrue (Application.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
+ .AssertEqual ("_New file", top?.App?.Navigation!.GetFocused ()!.Title)
|
|
|
+ .AssertTrue (top?.App?.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
.AssertTrue (menuBar?.IsOpen ());
|
|
|
}
|
|
|
|
|
|
@@ -173,10 +174,10 @@ public class MenuBarv2Tests
|
|
|
MenuBarv2? menuBar = null;
|
|
|
|
|
|
using GuiTestContext c = With.A<Window> (50, 20, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((app) =>
|
|
|
{
|
|
|
menuBar = new MenuBarv2 ();
|
|
|
- Toplevel top = Application.Current!;
|
|
|
+ Toplevel top = app.Current!;
|
|
|
|
|
|
top.Add (
|
|
|
new View ()
|
|
|
@@ -186,7 +187,7 @@ public class MenuBarv2Tests
|
|
|
|
|
|
});
|
|
|
menuBar.EnableForDesign (ref top);
|
|
|
- Application.Current!.Add (menuBar);
|
|
|
+ app.Current!.Add (menuBar);
|
|
|
})
|
|
|
.WaitIteration ()
|
|
|
.AssertIsNotType<MenuItemv2> (Application.Navigation!.GetFocused ())
|
|
|
@@ -203,9 +204,11 @@ public class MenuBarv2Tests
|
|
|
[ClassData (typeof (TestDrivers))]
|
|
|
public void ShowHidePopovers (TestDriver d)
|
|
|
{
|
|
|
+ IApplication? app = null;
|
|
|
using GuiTestContext c = With.A<Window> (80, 25, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((a) =>
|
|
|
{
|
|
|
+ app = a;
|
|
|
// Create a menu bar with items that have submenus
|
|
|
var fileMenuItem = new MenuBarItemv2 (
|
|
|
"_File",
|
|
|
@@ -214,7 +217,7 @@ public class MenuBarv2Tests
|
|
|
new MenuItemv2 ("_Save", string.Empty, null)
|
|
|
]);
|
|
|
|
|
|
- var menuBar = new MenuBarv2 ([fileMenuItem]);
|
|
|
+ var menuBar = new MenuBarv2 ([fileMenuItem]) { App = app };
|
|
|
|
|
|
// Initially, no menu should be open
|
|
|
Assert.False (menuBar.IsOpen ());
|
|
|
@@ -259,7 +262,7 @@ public class MenuBarv2Tests
|
|
|
public void EnableForDesign_CreatesMenuItems (TestDriver d)
|
|
|
{
|
|
|
using GuiTestContext c = With.A<Window> (80, 25, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((_) =>
|
|
|
{
|
|
|
var menuBar = new MenuBarv2 ();
|
|
|
Application.Current!.Add (menuBar);
|
|
|
@@ -291,24 +294,26 @@ public class MenuBarv2Tests
|
|
|
public void Navigation_Left_Right_Wraps (TestDriver d)
|
|
|
{
|
|
|
MenuBarv2? menuBar = null;
|
|
|
+ IApplication? app = null;
|
|
|
|
|
|
using GuiTestContext c = With.A<Window> (50, 20, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((a) =>
|
|
|
{
|
|
|
+ app = a;
|
|
|
menuBar = new MenuBarv2 ();
|
|
|
- Toplevel top = Application.Current!;
|
|
|
+ Toplevel top = app.Current!;
|
|
|
menuBar.EnableForDesign (ref top);
|
|
|
- Application.Current!.Add (menuBar);
|
|
|
+ app.Current!.Add (menuBar);
|
|
|
})
|
|
|
.WaitIteration ()
|
|
|
.ScreenShot ("MenuBar initial state", _out)
|
|
|
.EnqueueKeyEvent (MenuBarv2.DefaultKey)
|
|
|
- .AssertTrue (Application.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
+ .AssertTrue (app?.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
.AssertTrue (menuBar?.IsOpen ())
|
|
|
.AssertEqual ("_New file", Application.Navigation?.GetFocused ()!.Title)
|
|
|
.ScreenShot ($"After {MenuBarv2.DefaultKey}", _out)
|
|
|
.EnqueueKeyEvent (Key.CursorRight)
|
|
|
- .AssertTrue (Application.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
+ .AssertTrue (app?.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
.ScreenShot ("After right arrow", _out)
|
|
|
.AssertEqual ("Cu_t", Application.Navigation?.GetFocused ()!.Title)
|
|
|
.EnqueueKeyEvent (Key.CursorRight)
|
|
|
@@ -329,12 +334,14 @@ public class MenuBarv2Tests
|
|
|
public void MenuBarItem_With_QuitKey_Open_QuitKey_Restores_Focus_Correctly (TestDriver d)
|
|
|
{
|
|
|
MenuBarv2? menuBar = null;
|
|
|
+ IApplication? app = null;
|
|
|
|
|
|
using GuiTestContext c = With.A<Window> (50, 20, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((a) =>
|
|
|
{
|
|
|
+ app = a;
|
|
|
menuBar = new MenuBarv2 ();
|
|
|
- Toplevel top = Application.Current!;
|
|
|
+ Toplevel top = app.Current!;
|
|
|
|
|
|
top.Add (
|
|
|
new View ()
|
|
|
@@ -344,19 +351,19 @@ public class MenuBarv2Tests
|
|
|
|
|
|
});
|
|
|
menuBar.EnableForDesign (ref top);
|
|
|
- Application.Current!.Add (menuBar);
|
|
|
+ app.Current!.Add (menuBar);
|
|
|
})
|
|
|
- .AssertIsNotType<MenuItemv2> (Application.Navigation!.GetFocused ())
|
|
|
+ .AssertIsNotType<MenuItemv2> (app!.Navigation!.GetFocused ())
|
|
|
.ScreenShot ("MenuBar initial state", _out)
|
|
|
.EnqueueKeyEvent (MenuBarv2.DefaultKey)
|
|
|
- .AssertEqual ("_New file", Application.Navigation!.GetFocused ()!.Title)
|
|
|
- .AssertTrue (Application.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
+ .AssertEqual ("_New file", app.Navigation!.GetFocused ()!.Title)
|
|
|
+ .AssertTrue (app?.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
.AssertTrue (menuBar?.IsOpen ())
|
|
|
- .AssertEqual ("_New file", Application.Navigation?.GetFocused ()!.Title)
|
|
|
+ .AssertEqual ("_New file", app?.Navigation?.GetFocused ()!.Title)
|
|
|
.ScreenShot ($"After {MenuBarv2.DefaultKey}", _out)
|
|
|
.EnqueueKeyEvent (Application.QuitKey)
|
|
|
- .AssertFalse (Application.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
- .AssertIsNotType<MenuItemv2> (Application.Navigation!.GetFocused ());
|
|
|
+ .AssertFalse (app?.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
+ .AssertIsNotType<MenuItemv2> (app!.Navigation!.GetFocused ());
|
|
|
}
|
|
|
|
|
|
[Theory]
|
|
|
@@ -364,6 +371,7 @@ public class MenuBarv2Tests
|
|
|
public void MenuBarItem_Without_QuitKey_Open_QuitKey_Restores_Focus_Correctly (TestDriver d)
|
|
|
{
|
|
|
MenuBarv2? menuBar = null;
|
|
|
+ IApplication? app = null;
|
|
|
|
|
|
using GuiTestContext c = With.A<Window> (50, 20, d, _out)
|
|
|
.Add (
|
|
|
@@ -373,26 +381,27 @@ public class MenuBarv2Tests
|
|
|
Id = "focusableView",
|
|
|
|
|
|
})
|
|
|
- .Then (() =>
|
|
|
+ .Then ((a) =>
|
|
|
{
|
|
|
+ app = a;
|
|
|
menuBar = new MenuBarv2 ();
|
|
|
- Toplevel? toplevel = Application.Current;
|
|
|
+ Toplevel? toplevel = app.Current;
|
|
|
menuBar.EnableForDesign (ref toplevel!);
|
|
|
- Application.Current!.Add (menuBar);
|
|
|
+ app.Current!.Add (menuBar);
|
|
|
})
|
|
|
.WaitIteration ()
|
|
|
- .AssertIsNotType<MenuItemv2> (Application.Navigation!.GetFocused ())
|
|
|
+ .AssertIsNotType<MenuItemv2> (app?.Navigation!.GetFocused ())
|
|
|
.ScreenShot ("MenuBar initial state", _out)
|
|
|
.EnqueueKeyEvent (MenuBarv2.DefaultKey)
|
|
|
.EnqueueKeyEvent (Key.CursorRight)
|
|
|
- .AssertEqual ("Cu_t", Application.Navigation!.GetFocused ()!.Title)
|
|
|
- .AssertTrue (Application.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
+ .AssertEqual ("Cu_t", app?.Navigation!.GetFocused ()!.Title)
|
|
|
+ .AssertTrue (app?.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
.AssertTrue (menuBar?.IsOpen ())
|
|
|
- .AssertEqual ("Cu_t", Application.Navigation?.GetFocused ()!.Title)
|
|
|
+ .AssertEqual ("Cu_t", app?.Navigation?.GetFocused ()!.Title)
|
|
|
.ScreenShot ($"After {MenuBarv2.DefaultKey}", _out)
|
|
|
.EnqueueKeyEvent (Application.QuitKey)
|
|
|
- .AssertFalse (Application.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
- .AssertIsNotType<MenuItemv2> (Application.Navigation?.GetFocused ());
|
|
|
+ .AssertFalse (app?.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
+ .AssertIsNotType<MenuItemv2> (app?.Navigation?.GetFocused ());
|
|
|
}
|
|
|
|
|
|
[Theory]
|
|
|
@@ -400,12 +409,14 @@ public class MenuBarv2Tests
|
|
|
public void MenuBarItem_With_QuitKey_Open_QuitKey_Does_Not_Quit_App (TestDriver d)
|
|
|
{
|
|
|
MenuBarv2? menuBar = null;
|
|
|
+ IApplication? app = null;
|
|
|
|
|
|
using GuiTestContext c = With.A<Window> (50, 20, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((a) =>
|
|
|
{
|
|
|
+ app = a;
|
|
|
menuBar = new MenuBarv2 ();
|
|
|
- Toplevel top = Application.Current!;
|
|
|
+ Toplevel top = app.Current!;
|
|
|
|
|
|
top.Add (
|
|
|
new View ()
|
|
|
@@ -415,18 +426,18 @@ public class MenuBarv2Tests
|
|
|
|
|
|
});
|
|
|
menuBar.EnableForDesign (ref top);
|
|
|
- Application.Current!.Add (menuBar);
|
|
|
+ app.Current!.Add (menuBar);
|
|
|
})
|
|
|
.WaitIteration ()
|
|
|
- .AssertIsNotType<MenuItemv2> (Application.Navigation!.GetFocused ())
|
|
|
+ .AssertIsNotType<MenuItemv2> (app!.Navigation!.GetFocused ())
|
|
|
.ScreenShot ("MenuBar initial state", _out)
|
|
|
.EnqueueKeyEvent (MenuBarv2.DefaultKey)
|
|
|
- .AssertEqual ("_New file", Application.Navigation!.GetFocused ()!.Title)
|
|
|
+ .AssertEqual ("_New file", app.Navigation!.GetFocused ()!.Title)
|
|
|
.AssertTrue (Application.Current!.Running)
|
|
|
.ScreenShot ($"After {MenuBarv2.DefaultKey}", _out)
|
|
|
.EnqueueKeyEvent (Application.QuitKey)
|
|
|
- .AssertFalse (Application.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
- .AssertTrue (Application.Current!.Running);
|
|
|
+ .AssertFalse (app?.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
+ .AssertTrue (app!.Current!.Running);
|
|
|
}
|
|
|
|
|
|
[Theory]
|
|
|
@@ -434,12 +445,14 @@ public class MenuBarv2Tests
|
|
|
public void MenuBarItem_Without_QuitKey_Open_QuitKey_Does_Not_Quit_MenuBar_SuperView (TestDriver d)
|
|
|
{
|
|
|
MenuBarv2? menuBar = null;
|
|
|
+ IApplication? app = null;
|
|
|
|
|
|
using GuiTestContext c = With.A<Window> (50, 20, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((a) =>
|
|
|
{
|
|
|
+ app = a;
|
|
|
menuBar = new MenuBarv2 ();
|
|
|
- Toplevel top = Application.Current!;
|
|
|
+ Toplevel top = app.Current!;
|
|
|
|
|
|
top.Add (
|
|
|
new View ()
|
|
|
@@ -456,17 +469,17 @@ public class MenuBarv2Tests
|
|
|
item.Key = Key.Empty;
|
|
|
}
|
|
|
|
|
|
- Application.Current!.Add (menuBar);
|
|
|
+ app.Current!.Add (menuBar);
|
|
|
})
|
|
|
.WaitIteration ()
|
|
|
- .AssertIsNotType<MenuItemv2> (Application.Navigation!.GetFocused ())
|
|
|
+ .AssertIsNotType<MenuItemv2> (app?.Navigation!.GetFocused ())
|
|
|
.ScreenShot ("MenuBar initial state", _out)
|
|
|
.EnqueueKeyEvent (MenuBarv2.DefaultKey)
|
|
|
- .AssertEqual ("_New file", Application.Navigation!.GetFocused ()!.Title)
|
|
|
+ .AssertEqual ("_New file", app?.Navigation!.GetFocused ()!.Title)
|
|
|
.ScreenShot ($"After {MenuBarv2.DefaultKey}", _out)
|
|
|
.EnqueueKeyEvent (Application.QuitKey)
|
|
|
- .AssertFalse (Application.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
- .AssertTrue (Application.Current!.Running);
|
|
|
+ .AssertFalse (app?.Popover?.GetActivePopover () is PopoverMenu)
|
|
|
+ .AssertTrue (app?.Current!.Running);
|
|
|
}
|
|
|
|
|
|
[Theory]
|
|
|
@@ -489,7 +502,7 @@ public class MenuBarv2Tests
|
|
|
};
|
|
|
|
|
|
using GuiTestContext c = With.A<Window> (50, 20, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((_) =>
|
|
|
{
|
|
|
var menuBar = new MenuBarv2 ();
|
|
|
Toplevel top = Application.Current!;
|
|
|
@@ -523,7 +536,7 @@ public class MenuBarv2Tests
|
|
|
};
|
|
|
|
|
|
using GuiTestContext c = With.A<Window> (50, 20, d, _out)
|
|
|
- .Then (() =>
|
|
|
+ .Then ((_) =>
|
|
|
{
|
|
|
var menuBar = new MenuBarv2 ();
|
|
|
Toplevel top = Application.Current!;
|