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") };