123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using UnitTests;
- using Xunit.Abstractions;
- namespace Terminal.Gui.LayoutTests;
- public class LayoutTests (ITestOutputHelper output) : TestsAllViews
- {
- [Theory]
- [SetupFakeDriver] // Required for spinner view that wants to register timeouts
- [MemberData (nameof (AllViewTypes))]
- public void AllViews_Layout_Does_Not_Draw (Type viewType)
- {
- // Required for spinner view that wants to register timeouts
- Application.MainLoop = new MainLoop (new FakeMainLoop (Application.Driver));
- var view = (View)CreateInstanceIfNotGeneric (viewType);
- if (view == null)
- {
- output.WriteLine ($"Ignoring {viewType} - It's a Generic");
- return;
- }
- if (view is IDesignable designable)
- {
- designable.EnableForDesign ();
- }
- var drawContentCount = 0;
- view.DrawingContent += (s, e) => drawContentCount++;
- var layoutStartedCount = 0;
- view.SubViewLayout += (s, e) => layoutStartedCount++;
- var layoutCompleteCount = 0;
- view.SubViewsLaidOut += (s, e) => layoutCompleteCount++;
- view.SetNeedsLayout ();
- view.SetNeedsDraw();
- view.Layout ();
- Assert.Equal (0, drawContentCount);
- Assert.Equal (1, layoutStartedCount);
- Assert.Equal (1, layoutCompleteCount);
- }
- }
|