瀏覽代碼

Fixed Unit Test based on the changes.

BDisp 5 年之前
父節點
當前提交
dce2a0304e
共有 5 個文件被更改,包括 44 次插入26 次删除
  1. 5 1
      Terminal.Gui/Core/Application.cs
  2. 15 11
      UnitTests/ApplicationTests.cs
  3. 16 8
      UnitTests/PosTests.cs
  4. 4 2
      UnitTests/ScenarioTests.cs
  5. 4 4
      UnitTests/ViewTests.cs

+ 5 - 1
Terminal.Gui/Core/Application.cs

@@ -546,8 +546,12 @@ namespace Terminal.Gui {
 				throw new ArgumentException ("The view that you end with must be balanced");
 			toplevels.Pop ();
 
-			if (toplevels.Count > 0) {
+			if (toplevels.Count == 0) {
+				Current = null;
+				CurrentView = null;
+			} else {
 				Current = toplevels.Peek ();
+				CurrentView = Current;
 				Refresh ();
 			}
 		}

+ 15 - 11
UnitTests/ApplicationTests.cs

@@ -39,7 +39,7 @@ namespace Terminal.Gui {
 			Assert.Equal (80, Application.Driver.Cols);
 			Assert.Equal (25, Application.Driver.Rows);
 
-			Application.Shutdown (true);
+			Application.Shutdown ();
 			Assert.Null (Application.Current);
 			Assert.Null (Application.CurrentView);
 			Assert.Null (Application.Top);
@@ -73,7 +73,7 @@ namespace Terminal.Gui {
 
 		void Shutdown ()
 		{
-			Application.Shutdown (true);
+			Application.Shutdown ();
 		}
 
 		[Fact]
@@ -89,15 +89,19 @@ namespace Terminal.Gui {
 			var rs = Application.Begin (top);
 			Assert.NotNull (rs);
 			Assert.Equal (top, Application.Current);
-			Application.End (rs, true);
+			Application.End (rs);
 
 			Assert.Null (Application.Current);
 			Assert.Null (Application.CurrentView);
+			Assert.NotNull (Application.Top);
+			Assert.NotNull (Application.MainLoop);
+			Assert.NotNull (Application.Driver);
+
+			Shutdown ();
+
 			Assert.Null (Application.Top);
 			Assert.Null (Application.MainLoop);
 			Assert.Null (Application.Driver);
-
-			Shutdown ();
 		}
 
 		[Fact]
@@ -115,9 +119,9 @@ namespace Terminal.Gui {
 				Application.RequestStop ();
 			};
 
-			Application.Run (top, true);
+			Application.Run (top);
 
-			Application.Shutdown (true);
+			Application.Shutdown ();
 			Assert.Null (Application.Current);
 			Assert.Null (Application.CurrentView);
 			Assert.Null (Application.Top);
@@ -140,9 +144,9 @@ namespace Terminal.Gui {
 				top.Running = false;
 			};
 
-			Application.Run (top, true);
+			Application.Run (top);
 
-			Application.Shutdown (true);
+			Application.Shutdown ();
 			Assert.Null (Application.Current);
 			Assert.Null (Application.CurrentView);
 			Assert.Null (Application.Top);
@@ -190,7 +194,7 @@ namespace Terminal.Gui {
 				keyUps++;
 			};
 
-			Application.Run (Application.Top, true);
+			Application.Run (Application.Top);
 
 			// Input string should match output
 			Assert.Equal (input, output);
@@ -201,7 +205,7 @@ namespace Terminal.Gui {
 			// # of key up events should match # of iterations
 			Assert.Equal (stackSize, iterations);
 
-			Application.Shutdown (true);
+			Application.Shutdown ();
 			Assert.Null (Application.Current);
 			Assert.Null (Application.CurrentView);
 			Assert.Null (Application.Top);

+ 16 - 8
UnitTests/PosTests.cs

@@ -283,42 +283,50 @@ namespace Terminal.Gui {
 				return (win, button);
 			}
 
-			void cleanup ()
+			Application.RunState rs;
+
+			void cleanup (Application.RunState rs)
 			{
 				// Cleanup
-				Application.Shutdown ();
+				Application.End (rs);
 			}
 
 			// Test cases:
 			var app = setup ();
 			app.button.Y = Pos.Left (app.win);
+			rs = Application.Begin (Application.Top);
 			Application.Run ();
-			cleanup ();
+			cleanup (rs);
 
 			app = setup ();
 			app.button.Y = Pos.X (app.win);
+			rs = Application.Begin (Application.Top);
 			Application.Run ();
-			cleanup ();
+			cleanup (rs);
 
 			app = setup ();
 			app.button.Y = Pos.Top (app.win);
+			rs = Application.Begin (Application.Top);
 			Application.Run ();
-			cleanup ();
+			cleanup (rs);
 
 			app = setup ();
 			app.button.Y = Pos.Y (app.win);
+			rs = Application.Begin (Application.Top);
 			Application.Run ();
-			cleanup ();
+			cleanup (rs);
 
 			app = setup ();
 			app.button.Y = Pos.Bottom (app.win);
+			rs = Application.Begin (Application.Top);
 			Application.Run ();
-			cleanup ();
+			cleanup (rs);
 
 			app = setup ();
 			app.button.Y = Pos.Right (app.win);
+			rs = Application.Begin (Application.Top);
 			Application.Run ();
-			cleanup ();
+			cleanup (rs);
 
 		}
 

+ 4 - 2
UnitTests/ScenarioTests.cs

@@ -69,9 +69,10 @@ namespace Terminal.Gui {
 				var scenario = (Scenario)Activator.CreateInstance (scenarioClass);
 				scenario.Init (Application.Top, Colors.Base);
 				scenario.Setup ();
+				var rs = Application.Begin (Application.Top);
 				scenario.Run ();
 
-				Application.Shutdown ();
+				Application.End (rs);
 
 				Assert.Equal (0, abortCount);
 				// # of key up events should match # of iterations
@@ -124,9 +125,10 @@ namespace Terminal.Gui {
 			var scenario = (Scenario)Activator.CreateInstance (scenarioClass);
 			scenario.Init (Application.Top, Colors.Base);
 			scenario.Setup ();
+			var rs = Application.Begin (Application.Top);
 			scenario.Run ();
 
-			Application.Shutdown ();
+			Application.End (rs);
 
 			Assert.Equal (0, abortCount);
 			// # of key up events should match # of iterations

+ 4 - 4
UnitTests/ViewTests.cs

@@ -624,8 +624,8 @@ namespace Terminal.Gui {
 				t.Running = false;
 			};
 
-			Application.Run (t, true);
-			Application.Shutdown (true);
+			Application.Run (t);
+			Application.Shutdown ();
 
 			Assert.Equal (1, tc);
 			Assert.Equal (1, wc);
@@ -704,8 +704,8 @@ namespace Terminal.Gui {
 				t.Running = false;
 			};
 
-			Application.Run (t, true);
-			Application.Shutdown (true);
+			Application.Run (t);
+			Application.Shutdown ();
 
 			Assert.Equal (1, tc);
 			Assert.Equal (1, wc);