From 44259cce4639439adcd27d4e756813d92801067c Mon Sep 17 00:00:00 2001 From: Tig Date: Sun, 6 Oct 2024 10:23:33 -0600 Subject: [PATCH] Fixed HexView nav unit test --- UnitTests/Application/ApplicationTests.cs | 4 ++-- UnitTests/TestHelpers.cs | 11 ++++++++++- UnitTests/View/Navigation/NavigationTests.cs | 6 ++++++ UnitTests/Views/TimeFieldTests.cs | 2 +- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/UnitTests/Application/ApplicationTests.cs b/UnitTests/Application/ApplicationTests.cs index 250f79ec1..d1d7d03a3 100644 --- a/UnitTests/Application/ApplicationTests.cs +++ b/UnitTests/Application/ApplicationTests.cs @@ -156,7 +156,7 @@ public class ApplicationTests } [Fact] - [AutoInitShutdown] + [AutoInitShutdown (VerifyShutdown: true)] public void Begin_Sets_Application_Top_To_Console_Size () { Assert.Null (Application.Top); @@ -521,7 +521,7 @@ public class ApplicationTests } [Fact] - [AutoInitShutdown] + [AutoInitShutdown (VerifyShutdown: true)] public void Internal_Properties_Correct () { Assert.True (Application.IsInitialized); diff --git a/UnitTests/TestHelpers.cs b/UnitTests/TestHelpers.cs index 976fc058a..fd681b627 100644 --- a/UnitTests/TestHelpers.cs +++ b/UnitTests/TestHelpers.cs @@ -42,13 +42,15 @@ public class AutoInitShutdownAttribute : BeforeAfterTestAttribute /// == and is true. /// /// Determines what config file locations will load from. + /// If true and is true, the test will fail. public AutoInitShutdownAttribute ( bool autoInit = true, Type consoleDriverType = null, bool useFakeClipboard = true, bool fakeClipboardAlwaysThrowsNotSupportedException = false, bool fakeClipboardIsSupportedAlwaysTrue = false, - ConfigLocations configLocation = ConfigLocations.None + ConfigLocations configLocation = ConfigLocations.None, + bool VerifyShutdown = false ) { AutoInit = autoInit; @@ -60,8 +62,10 @@ public class AutoInitShutdownAttribute : BeforeAfterTestAttribute fakeClipboardAlwaysThrowsNotSupportedException; FakeDriver.FakeBehaviors.FakeClipboardIsSupportedAlwaysFalse = fakeClipboardIsSupportedAlwaysTrue; Locations = configLocation; + _verifyShutdown = VerifyShutdown; } + private bool _verifyShutdown; private readonly Type _driverType; public override void After (MethodInfo methodUnderTest) @@ -75,6 +79,11 @@ public class AutoInitShutdownAttribute : BeforeAfterTestAttribute { // try { + if (!_verifyShutdown) + { + Application.ResetState (ignoreDisposed: true); + } + Application.Shutdown (); #if DEBUG_IDISPOSABLE if (Responder.Instances.Count == 0) diff --git a/UnitTests/View/Navigation/NavigationTests.cs b/UnitTests/View/Navigation/NavigationTests.cs index aa5b34060..12b49c129 100644 --- a/UnitTests/View/Navigation/NavigationTests.cs +++ b/UnitTests/View/Navigation/NavigationTests.cs @@ -61,6 +61,12 @@ public class NavigationTests (ITestOutputHelper _output) : TestsAllViews case TabBehavior.TabGroup: Application.OnKeyDown (key); + if (view.HasFocus) + { + // Try once more (HexView) + Application.OnKeyDown (key); + } + break; default: Application.OnKeyDown (Key.Tab); diff --git a/UnitTests/Views/TimeFieldTests.cs b/UnitTests/Views/TimeFieldTests.cs index 99d160241..ef8c701b1 100644 --- a/UnitTests/Views/TimeFieldTests.cs +++ b/UnitTests/Views/TimeFieldTests.cs @@ -36,7 +36,7 @@ public class TimeFieldTests } [Fact] - [AutoInitShutdown (useFakeClipboard:true)] + [AutoInitShutdown (useFakeClipboard: true)] public void Copy_Paste () { var tf1 = new TimeField { Time = TimeSpan.Parse ("12:12:19") };