Change AutoSpin from a method to a property

This commit is contained in:
tznind
2023-05-27 10:31:02 +01:00
committed by Tig
parent fb3dde2289
commit 94c3de473c
4 changed files with 45 additions and 13 deletions

View File

@@ -13,24 +13,33 @@ namespace Terminal.Gui.ViewsTests {
this.output = output;
}
[Fact, AutoInitShutdown]
public void TestSpinnerView_AutoSpin()
[Theory, AutoInitShutdown]
[InlineData(true)]
[InlineData(false)]
public void TestSpinnerView_AutoSpin(bool callStop)
{
var view = GetSpinnerView ();
Assert.Empty (Application.MainLoop.timeouts);
view.AutoSpin ();
view.AutoSpin = true;
Assert.NotEmpty (Application.MainLoop.timeouts);
//More calls to AutoSpin do not add more timeouts
Assert.Single (Application.MainLoop.timeouts);
view.AutoSpin ();
view.AutoSpin ();
view.AutoSpin ();
view.AutoSpin = true;
view.AutoSpin = true;
view.AutoSpin = true;
Assert.Single (Application.MainLoop.timeouts);
if(callStop) {
view.AutoSpin = false;
Assert.Empty (Application.MainLoop.timeouts);
}
else {
Assert.NotEmpty (Application.MainLoop.timeouts);
}
// Dispose clears timeout
Assert.NotEmpty (Application.MainLoop.timeouts);
view.Dispose ();
Assert.Empty (Application.MainLoop.timeouts);
}