mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-01 00:46:39 +01:00
Rename IApplication.Current to TopRunnable
Co-authored-by: tig <585482+tig@users.noreply.github.com>
This commit is contained in:
@@ -70,13 +70,13 @@ public class ApplicationTests
|
||||
[SetupFakeApplication]
|
||||
public void Begin_Sets_Application_Top_To_Console_Size ()
|
||||
{
|
||||
Assert.Null (Application.Current);
|
||||
Assert.Null (Application.TopRunnable);
|
||||
Application.Driver!.SetScreenSize (80, 25);
|
||||
Toplevel top = new ();
|
||||
Application.Begin (top);
|
||||
Assert.Equal (new (0, 0, 80, 25), Application.Current!.Frame);
|
||||
Assert.Equal (new (0, 0, 80, 25), Application.TopRunnable!.Frame);
|
||||
Application.Driver!.SetScreenSize (5, 5);
|
||||
Assert.Equal (new (0, 0, 5, 5), Application.Current!.Frame);
|
||||
Assert.Equal (new (0, 0, 5, 5), Application.TopRunnable!.Frame);
|
||||
top.Dispose ();
|
||||
}
|
||||
|
||||
@@ -84,21 +84,21 @@ public class ApplicationTests
|
||||
[SetupFakeApplication]
|
||||
public void End_And_Shutdown_Should_Not_Dispose_ApplicationTop ()
|
||||
{
|
||||
Assert.Null (Application.Current);
|
||||
Assert.Null (Application.TopRunnable);
|
||||
|
||||
SessionToken rs = Application.Begin (new ());
|
||||
Application.Current!.Title = "End_And_Shutdown_Should_Not_Dispose_ApplicationTop";
|
||||
Assert.Equal (rs.Toplevel, Application.Current);
|
||||
Application.TopRunnable!.Title = "End_And_Shutdown_Should_Not_Dispose_ApplicationTop";
|
||||
Assert.Equal (rs.Toplevel, Application.TopRunnable);
|
||||
Application.End (rs);
|
||||
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.True (rs.WasDisposed);
|
||||
Assert.False (Application.Current!.WasDisposed); // Is true because the rs.Toplevel is the same as Application.Current
|
||||
Assert.False (Application.TopRunnable!.WasDisposed); // Is true because the rs.Toplevel is the same as Application.TopRunnable
|
||||
#endif
|
||||
|
||||
Assert.Null (rs.Toplevel);
|
||||
|
||||
Toplevel top = Application.Current;
|
||||
Toplevel top = Application.TopRunnable;
|
||||
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Exception exception = Record.Exception (Application.Shutdown);
|
||||
@@ -132,12 +132,12 @@ public class ApplicationTests
|
||||
Assert.NotNull (sessionToken);
|
||||
Assert.Equal (rs, sessionToken);
|
||||
|
||||
Assert.Equal (topLevel, Application.Current);
|
||||
Assert.Equal (topLevel, Application.TopRunnable);
|
||||
|
||||
Application.SessionBegun -= newSessionTokenFn;
|
||||
Application.End (sessionToken);
|
||||
|
||||
Assert.NotNull (Application.Current);
|
||||
Assert.NotNull (Application.TopRunnable);
|
||||
Assert.NotNull (Application.Driver);
|
||||
|
||||
topLevel.Dispose ();
|
||||
@@ -246,7 +246,7 @@ public class ApplicationTests
|
||||
// Check that all fields and properties are set to their default values
|
||||
|
||||
// Public Properties
|
||||
Assert.Null (Application.Current);
|
||||
Assert.Null (Application.TopRunnable);
|
||||
Assert.Null (Application.Mouse.MouseGrabView);
|
||||
|
||||
// Don't check Application.ForceDriver
|
||||
@@ -391,18 +391,18 @@ public class ApplicationTests
|
||||
Assert.NotNull (sessionToken);
|
||||
Assert.Equal (rs, sessionToken);
|
||||
|
||||
Assert.Equal (topLevel, Application.Current);
|
||||
Assert.Equal (topLevel, Application.TopRunnable);
|
||||
|
||||
Application.SessionBegun -= newSessionTokenFn;
|
||||
Application.End (sessionToken);
|
||||
|
||||
Assert.NotNull (Application.Current);
|
||||
Assert.NotNull (Application.TopRunnable);
|
||||
Assert.NotNull (Application.Driver);
|
||||
|
||||
topLevel.Dispose ();
|
||||
Application.Shutdown ();
|
||||
|
||||
Assert.Null (Application.Current);
|
||||
Assert.Null (Application.TopRunnable);
|
||||
Assert.Null (Application.Driver);
|
||||
}
|
||||
|
||||
@@ -411,11 +411,11 @@ public class ApplicationTests
|
||||
public void Internal_Properties_Correct ()
|
||||
{
|
||||
Assert.True (Application.Initialized);
|
||||
Assert.Null (Application.Current);
|
||||
Assert.Null (Application.TopRunnable);
|
||||
SessionToken rs = Application.Begin (new ());
|
||||
Assert.Equal (Application.Current, rs.Toplevel);
|
||||
Assert.Equal (Application.TopRunnable, rs.Toplevel);
|
||||
Assert.Null (Application.Mouse.MouseGrabView); // public
|
||||
Application.Current!.Dispose ();
|
||||
Application.TopRunnable!.Dispose ();
|
||||
}
|
||||
|
||||
// Invoke Tests
|
||||
@@ -511,9 +511,9 @@ public class ApplicationTests
|
||||
// Run<Toplevel> when already initialized or not with a Driver will not throw (because Window is derived from Toplevel)
|
||||
// Using another type not derived from Toplevel will throws at compile time
|
||||
Application.Run<Window> ();
|
||||
Assert.True (Application.Current is Window);
|
||||
Assert.True (Application.TopRunnable is Window);
|
||||
|
||||
Application.Current!.Dispose ();
|
||||
Application.TopRunnable!.Dispose ();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -524,15 +524,15 @@ public class ApplicationTests
|
||||
// Run<Toplevel> when already initialized or not with a Driver will not throw (because Window is derived from Toplevel)
|
||||
// Using another type not derived from Toplevel will throws at compile time
|
||||
Application.Run<Window> (null, "fake");
|
||||
Assert.True (Application.Current is Window);
|
||||
Assert.True (Application.TopRunnable is Window);
|
||||
|
||||
Application.Current!.Dispose ();
|
||||
Application.TopRunnable!.Dispose ();
|
||||
|
||||
// Run<Toplevel> when already initialized or not with a Driver will not throw (because Dialog is derived from Toplevel)
|
||||
Application.Run<Dialog> (null, "fake");
|
||||
Assert.True (Application.Current is Dialog);
|
||||
Assert.True (Application.TopRunnable is Dialog);
|
||||
|
||||
Application.Current!.Dispose ();
|
||||
Application.TopRunnable!.Dispose ();
|
||||
Application.Shutdown ();
|
||||
}
|
||||
|
||||
@@ -540,7 +540,7 @@ public class ApplicationTests
|
||||
[SetupFakeApplication]
|
||||
public void Run_T_After_Init_Does_Not_Disposes_Application_Top ()
|
||||
{
|
||||
// Init doesn't create a Toplevel and assigned it to Application.Current
|
||||
// Init doesn't create a Toplevel and assigned it to Application.TopRunnable
|
||||
// but Begin does
|
||||
var initTop = new Toplevel ();
|
||||
|
||||
@@ -554,13 +554,13 @@ public class ApplicationTests
|
||||
initTop.Dispose ();
|
||||
Assert.True (initTop.WasDisposed);
|
||||
#endif
|
||||
Application.Current!.Dispose ();
|
||||
Application.TopRunnable!.Dispose ();
|
||||
|
||||
return;
|
||||
|
||||
void OnApplicationOnIteration (object s, IterationEventArgs a)
|
||||
{
|
||||
Assert.NotEqual (initTop, Application.Current);
|
||||
Assert.NotEqual (initTop, Application.TopRunnable);
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.False (initTop.WasDisposed);
|
||||
#endif
|
||||
@@ -577,7 +577,7 @@ public class ApplicationTests
|
||||
// Init has been called and we're passing no driver to Run<TestTopLevel>. This is ok.
|
||||
Application.Run<Toplevel> ();
|
||||
|
||||
Application.Current!.Dispose ();
|
||||
Application.TopRunnable!.Dispose ();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -589,7 +589,7 @@ public class ApplicationTests
|
||||
// Init has been called, selecting FakeDriver; we're passing no driver to Run<TestTopLevel>. Should be fine.
|
||||
Application.Run<Toplevel> ();
|
||||
|
||||
Application.Current!.Dispose ();
|
||||
Application.TopRunnable!.Dispose ();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -620,7 +620,7 @@ public class ApplicationTests
|
||||
// Init has NOT been called and we're passing a valid driver to Run<TestTopLevel>. This is ok.
|
||||
Application.Run<Toplevel> (null, "fake");
|
||||
|
||||
Application.Current!.Dispose ();
|
||||
Application.TopRunnable!.Dispose ();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -744,9 +744,9 @@ public class ApplicationTests
|
||||
|
||||
Assert.NotNull (w);
|
||||
Assert.Equal (string.Empty, w.Title); // Valid - w has not been disposed. The user may want to run it again
|
||||
Assert.NotNull (Application.Current);
|
||||
Assert.Equal (w, Application.Current);
|
||||
Assert.NotEqual (top, Application.Current);
|
||||
Assert.NotNull (Application.TopRunnable);
|
||||
Assert.Equal (w, Application.TopRunnable);
|
||||
Assert.NotEqual (top, Application.TopRunnable);
|
||||
|
||||
Application.Run (w); // Valid - w has not been disposed.
|
||||
|
||||
@@ -774,14 +774,14 @@ public class ApplicationTests
|
||||
[Fact]
|
||||
public void Run_Creates_Top_Without_Init ()
|
||||
{
|
||||
Assert.Null (Application.Current);
|
||||
Assert.Null (Application.TopRunnable);
|
||||
Application.StopAfterFirstIteration = true;
|
||||
|
||||
Application.Iteration += OnApplicationOnIteration;
|
||||
Toplevel top = Application.Run (null, "fake");
|
||||
Application.Iteration -= OnApplicationOnIteration;
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.Equal (top, Application.Current);
|
||||
Assert.Equal (top, Application.TopRunnable);
|
||||
Assert.False (top.WasDisposed);
|
||||
Exception exception = Record.Exception (Application.Shutdown);
|
||||
Assert.NotNull (exception);
|
||||
@@ -794,38 +794,38 @@ public class ApplicationTests
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.True (top.WasDisposed);
|
||||
#endif
|
||||
Assert.NotNull (Application.Current);
|
||||
Assert.NotNull (Application.TopRunnable);
|
||||
|
||||
Application.Shutdown ();
|
||||
Assert.Null (Application.Current);
|
||||
Assert.Null (Application.TopRunnable);
|
||||
|
||||
return;
|
||||
|
||||
void OnApplicationOnIteration (object s, IterationEventArgs e) { Assert.NotNull (Application.Current); }
|
||||
void OnApplicationOnIteration (object s, IterationEventArgs e) { Assert.NotNull (Application.TopRunnable); }
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Run_T_Creates_Top_Without_Init ()
|
||||
{
|
||||
Assert.Null (Application.Current);
|
||||
Assert.Null (Application.TopRunnable);
|
||||
|
||||
Application.StopAfterFirstIteration = true;
|
||||
|
||||
Application.Run<Toplevel> (null, "fake");
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.False (Application.Current!.WasDisposed);
|
||||
Assert.False (Application.TopRunnable!.WasDisposed);
|
||||
Exception exception = Record.Exception (Application.Shutdown);
|
||||
Assert.NotNull (exception);
|
||||
Assert.False (Application.Current!.WasDisposed);
|
||||
Assert.False (Application.TopRunnable!.WasDisposed);
|
||||
|
||||
// It's up to caller to dispose it
|
||||
Application.Current!.Dispose ();
|
||||
Assert.True (Application.Current!.WasDisposed);
|
||||
Application.TopRunnable!.Dispose ();
|
||||
Assert.True (Application.TopRunnable!.WasDisposed);
|
||||
#endif
|
||||
Assert.NotNull (Application.Current);
|
||||
Assert.NotNull (Application.TopRunnable);
|
||||
|
||||
Application.Shutdown ();
|
||||
Assert.Null (Application.Current);
|
||||
Assert.Null (Application.TopRunnable);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -839,7 +839,7 @@ public class ApplicationTests
|
||||
// the new(Toplevel) may be a derived class that is possible using Application static
|
||||
// properties that is only available after the Application.Init was called
|
||||
|
||||
Assert.Null (Application.Current);
|
||||
Assert.Null (Application.TopRunnable);
|
||||
|
||||
Assert.Throws<NotInitializedException> (() => Application.Run (new Toplevel ()));
|
||||
|
||||
@@ -849,25 +849,25 @@ public class ApplicationTests
|
||||
Application.Run (new Toplevel ());
|
||||
Application.Iteration -= OnApplication_OnIteration;
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.False (Application.Current!.WasDisposed);
|
||||
Assert.False (Application.TopRunnable!.WasDisposed);
|
||||
Exception exception = Record.Exception (Application.Shutdown);
|
||||
Assert.NotNull (exception);
|
||||
Assert.False (Application.Current!.WasDisposed);
|
||||
Assert.False (Application.TopRunnable!.WasDisposed);
|
||||
|
||||
// It's up to caller to dispose it
|
||||
Application.Current!.Dispose ();
|
||||
Assert.True (Application.Current!.WasDisposed);
|
||||
Application.TopRunnable!.Dispose ();
|
||||
Assert.True (Application.TopRunnable!.WasDisposed);
|
||||
#endif
|
||||
Assert.NotNull (Application.Current);
|
||||
Assert.NotNull (Application.TopRunnable);
|
||||
|
||||
Application.Shutdown ();
|
||||
Assert.Null (Application.Current);
|
||||
Assert.Null (Application.TopRunnable);
|
||||
|
||||
return;
|
||||
|
||||
void OnApplication_OnIteration (object s, IterationEventArgs e)
|
||||
{
|
||||
Assert.NotNull (Application.Current);
|
||||
Assert.NotNull (Application.TopRunnable);
|
||||
Application.RequestStop ();
|
||||
}
|
||||
}
|
||||
@@ -892,9 +892,9 @@ public class ApplicationTests
|
||||
TaskScheduler.FromCurrentSynchronizationContext ());
|
||||
Application.Run<TestToplevel> ();
|
||||
Assert.NotNull (Application.Driver);
|
||||
Assert.NotNull (Application.Current);
|
||||
Assert.False (Application.Current!.Running);
|
||||
Application.Current!.Dispose ();
|
||||
Assert.NotNull (Application.TopRunnable);
|
||||
Assert.False (Application.TopRunnable!.Running);
|
||||
Application.TopRunnable!.Dispose ();
|
||||
Application.Shutdown ();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user