mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-01 16:59:35 +01:00
* Fixes #2923. Ensures only clear Instances if they really was disposed and fix unit tests. * Add Ubuntu-20.04. * xunit nuget package update.
This commit is contained in:
@@ -105,17 +105,11 @@ namespace UICatalog.Tests {
|
||||
|
||||
Application.Shutdown ();
|
||||
#if DEBUG_IDISPOSABLE
|
||||
foreach (var inst in Responder.Instances) {
|
||||
Assert.True (inst.WasDisposed);
|
||||
}
|
||||
Responder.Instances.Clear ();
|
||||
Assert.Empty (Responder.Instances);
|
||||
#endif
|
||||
}
|
||||
#if DEBUG_IDISPOSABLE
|
||||
foreach (var inst in Responder.Instances) {
|
||||
Assert.True (inst.WasDisposed);
|
||||
}
|
||||
Responder.Instances.Clear ();
|
||||
Assert.Empty (Responder.Instances);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -132,20 +126,8 @@ namespace UICatalog.Tests {
|
||||
// BUGBUG: (#2474) For some reason ReadKey is not returning the QuitKey for some Scenarios
|
||||
// by adding this Space it seems to work.
|
||||
|
||||
FakeConsole.PushMockKeyPress (Key.Space);
|
||||
FakeConsole.PushMockKeyPress (Application.QuitKey);
|
||||
|
||||
int iterations = 0;
|
||||
Application.Iteration = () => {
|
||||
iterations++;
|
||||
output.WriteLine ($"'Generic' iteration {iterations}");
|
||||
// Stop if we run out of control...
|
||||
if (iterations == 10) {
|
||||
output.WriteLine ($"'Generic' had to be force quit!");
|
||||
Application.RequestStop ();
|
||||
}
|
||||
};
|
||||
|
||||
var ms = 100;
|
||||
var abortCount = 0;
|
||||
Func<MainLoop, bool> abortCallback = (MainLoop loop) => {
|
||||
@@ -154,7 +136,22 @@ namespace UICatalog.Tests {
|
||||
Application.RequestStop ();
|
||||
return false;
|
||||
};
|
||||
var token = Application.MainLoop.AddTimeout (TimeSpan.FromMilliseconds (ms), abortCallback);
|
||||
|
||||
int iterations = 0;
|
||||
object token = null;
|
||||
Application.Iteration = () => {
|
||||
if (token == null) {
|
||||
// Timeout only must start at first iteration
|
||||
token = Application.MainLoop.AddTimeout (TimeSpan.FromMilliseconds (ms), abortCallback);
|
||||
}
|
||||
iterations++;
|
||||
output.WriteLine ($"'Generic' iteration {iterations}");
|
||||
// Stop if we run out of control...
|
||||
if (iterations == 10) {
|
||||
output.WriteLine ($"'Generic' had to be force quit!");
|
||||
Application.RequestStop ();
|
||||
}
|
||||
};
|
||||
|
||||
Application.Top.KeyPress += (object sender, KeyEventEventArgs args) => {
|
||||
// See #2474 for why this is commented out
|
||||
@@ -175,10 +172,7 @@ namespace UICatalog.Tests {
|
||||
Application.Shutdown ();
|
||||
|
||||
#if DEBUG_IDISPOSABLE
|
||||
foreach (var inst in Responder.Instances) {
|
||||
Assert.True (inst.WasDisposed);
|
||||
}
|
||||
Responder.Instances.Clear ();
|
||||
Assert.Empty (Responder.Instances);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user