mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-01 00:46:39 +01:00
REMOVED RESPONDER!
This commit is contained in:
@@ -4,110 +4,7 @@ namespace Terminal.Gui.InputTests;
|
||||
|
||||
public class ResponderTests
|
||||
{
|
||||
// Generic lifetime (IDisposable) tests
|
||||
[Fact]
|
||||
[TestRespondersDisposed]
|
||||
public void Dispose_Works ()
|
||||
{
|
||||
var r = new Responder ();
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.Single (Responder.Instances);
|
||||
#endif
|
||||
|
||||
r.Dispose ();
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.Empty (Responder.Instances);
|
||||
#endif
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Disposing_Event_Notify_All_Subscribers_On_The_First_Container ()
|
||||
{
|
||||
#if DEBUG_IDISPOSABLE
|
||||
// Only clear before because need to test after assert
|
||||
Responder.Instances.Clear ();
|
||||
#endif
|
||||
|
||||
var container1 = new View { Id = "Container1" };
|
||||
var count = 0;
|
||||
|
||||
var view = new View { Id = "View" };
|
||||
view.Disposing += View_Disposing;
|
||||
container1.Add (view);
|
||||
Assert.Equal (container1, view.SuperView);
|
||||
|
||||
void View_Disposing (object sender, EventArgs e)
|
||||
{
|
||||
count++;
|
||||
Assert.Equal (view, sender);
|
||||
container1.Remove ((View)sender);
|
||||
}
|
||||
|
||||
Assert.Single (container1.Subviews);
|
||||
|
||||
var container2 = new View { Id = "Container2" };
|
||||
|
||||
container2.Add (view);
|
||||
Assert.Equal (container2, view.SuperView);
|
||||
Assert.Equal (container1.Subviews.Count, container2.Subviews.Count);
|
||||
container2.Dispose ();
|
||||
|
||||
Assert.Empty (container1.Subviews);
|
||||
Assert.Empty (container2.Subviews);
|
||||
Assert.Equal (1, count);
|
||||
Assert.Null (view.SuperView);
|
||||
|
||||
container1.Dispose ();
|
||||
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.Empty (Responder.Instances);
|
||||
#endif
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Disposing_Event_Notify_All_Subscribers_On_The_Second_Container ()
|
||||
{
|
||||
#if DEBUG_IDISPOSABLE
|
||||
// Only clear before because need to test after assert
|
||||
Responder.Instances.Clear ();
|
||||
#endif
|
||||
|
||||
var container1 = new View { Id = "Container1" };
|
||||
|
||||
var view = new View { Id = "View" };
|
||||
container1.Add (view);
|
||||
Assert.Equal (container1, view.SuperView);
|
||||
Assert.Single (container1.Subviews);
|
||||
|
||||
var container2 = new View { Id = "Container2" };
|
||||
var count = 0;
|
||||
|
||||
view.Disposing += View_Disposing;
|
||||
container2.Add (view);
|
||||
Assert.Equal (container2, view.SuperView);
|
||||
|
||||
void View_Disposing (object sender, EventArgs e)
|
||||
{
|
||||
count++;
|
||||
Assert.Equal (view, sender);
|
||||
container2.Remove ((View)sender);
|
||||
}
|
||||
|
||||
Assert.Equal (container1.Subviews.Count, container2.Subviews.Count);
|
||||
container1.Dispose ();
|
||||
|
||||
Assert.Empty (container1.Subviews);
|
||||
Assert.Empty (container2.Subviews);
|
||||
Assert.Equal (1, count);
|
||||
Assert.Null (view.SuperView);
|
||||
|
||||
container2.Dispose ();
|
||||
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.Empty (Responder.Instances);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
[Fact]
|
||||
public void KeyPressed_Handled_True_Cancels_KeyPress ()
|
||||
@@ -125,82 +22,6 @@ public class ResponderTests
|
||||
r.Dispose ();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[TestRespondersDisposed]
|
||||
public void New_Initializes ()
|
||||
{
|
||||
var r = new Responder ();
|
||||
Assert.NotNull (r);
|
||||
Assert.Equal ("Terminal.Gui.Responder", r.ToString ());
|
||||
r.Dispose ();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[TestRespondersDisposed]
|
||||
public void New_Methods_Return_False ()
|
||||
{
|
||||
var r = new View ();
|
||||
|
||||
//Assert.False (r.OnKeyDown (new KeyEventArgs () { Key = Key.Unknown }));
|
||||
Assert.False (r.NewKeyDownEvent (new Key { KeyCode = KeyCode.Null }));
|
||||
Assert.False (r.NewKeyDownEvent (new Key { KeyCode = KeyCode.Null }));
|
||||
Assert.False (r.NewMouseEvent (new MouseEventArgs { Flags = MouseFlags.AllEvents }));
|
||||
|
||||
var v = new View ();
|
||||
//Assert.False (r.OnEnter (v));
|
||||
v.Dispose ();
|
||||
|
||||
v = new View ();
|
||||
//Assert.False (r.OnLeave (v));
|
||||
v.Dispose ();
|
||||
|
||||
r.Dispose ();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Responder_Not_Notifying_Dispose ()
|
||||
{
|
||||
// Only clear before because need to test after assert
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Responder.Instances.Clear ();
|
||||
#endif
|
||||
var container1 = new View { Id = "Container1" };
|
||||
|
||||
var view = new View { Id = "View" };
|
||||
container1.Add (view);
|
||||
Assert.Equal (container1, view.SuperView);
|
||||
|
||||
Assert.Single (container1.Subviews);
|
||||
|
||||
var container2 = new View { Id = "Container2" };
|
||||
|
||||
container2.Add (view);
|
||||
Assert.Equal (container2, view.SuperView);
|
||||
Assert.Equal (container1.Subviews.Count, container2.Subviews.Count);
|
||||
container1.Dispose ();
|
||||
|
||||
Assert.Empty (container1.Subviews);
|
||||
Assert.NotEmpty (container2.Subviews);
|
||||
Assert.Single (container2.Subviews);
|
||||
Assert.Null (view.SuperView);
|
||||
|
||||
// Trying access disposed properties
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.True (container2.Subviews [0].WasDisposed);
|
||||
#endif
|
||||
Assert.False (container2.Subviews [0].CanFocus);
|
||||
Assert.Null (container2.Subviews [0].Margin);
|
||||
Assert.Null (container2.Subviews [0].Border);
|
||||
Assert.Null (container2.Subviews [0].Padding);
|
||||
Assert.Null (view.SuperView);
|
||||
|
||||
container2.Dispose ();
|
||||
|
||||
#if DEBUG_IDISPOSABLE
|
||||
Assert.Empty (Responder.Instances);
|
||||
#endif
|
||||
}
|
||||
|
||||
public class DerivedView : View
|
||||
{
|
||||
protected override bool OnKeyDown (Key keyEvent) { return true; }
|
||||
|
||||
Reference in New Issue
Block a user