mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-02 01:03:29 +01:00
Way too big a committ.... but I got carried away.
- Started MouseEventEventArgs -> MouseEvent transition - for OnMouseEvent. Partially fixes #3029. - Refactored Appliation.OnMouseEvent and View.OnMouseEvent to match design guidelines. - Re-impleented highlight, enabling extensibility (see Border). - Beefed up unit tests
This commit is contained in:
@@ -141,32 +141,26 @@ public class TabViewTests
|
||||
top.Add (tv);
|
||||
Application.Begin (top);
|
||||
|
||||
MouseEventEventArgs args;
|
||||
MouseEvent args;
|
||||
|
||||
// Waving mouse around does not trigger click
|
||||
for (var i = 0; i < 100; i++)
|
||||
{
|
||||
args = new MouseEventEventArgs (
|
||||
new MouseEvent { X = i, Y = 1, Flags = MouseFlags.ReportMousePosition }
|
||||
);
|
||||
args = new MouseEvent { X = i, Y = 1, Flags = MouseFlags.ReportMousePosition };
|
||||
Application.OnMouseEvent (args);
|
||||
Application.Refresh ();
|
||||
Assert.Null (clicked);
|
||||
Assert.Equal (tab1, tv.SelectedTab);
|
||||
}
|
||||
|
||||
args = new MouseEventEventArgs (
|
||||
new MouseEvent { X = 3, Y = 1, Flags = MouseFlags.Button1Clicked }
|
||||
);
|
||||
args = new MouseEvent { X = 3, Y = 1, Flags = MouseFlags.Button1Clicked };
|
||||
Application.OnMouseEvent (args);
|
||||
Application.Refresh ();
|
||||
Assert.Equal (tab1, clicked);
|
||||
Assert.Equal (tab1, tv.SelectedTab);
|
||||
|
||||
// Click to tab2
|
||||
args = new MouseEventEventArgs (
|
||||
new MouseEvent { X = 6, Y = 1, Flags = MouseFlags.Button1Clicked }
|
||||
);
|
||||
args = new MouseEvent { X = 6, Y = 1, Flags = MouseFlags.Button1Clicked };
|
||||
Application.OnMouseEvent (args);
|
||||
Application.Refresh ();
|
||||
Assert.Equal (tab2, clicked);
|
||||
@@ -179,9 +173,7 @@ public class TabViewTests
|
||||
e.MouseEvent.Handled = true;
|
||||
};
|
||||
|
||||
args = new MouseEventEventArgs (
|
||||
new MouseEvent { X = 3, Y = 1, Flags = MouseFlags.Button1Clicked }
|
||||
);
|
||||
args = new MouseEvent { X = 3, Y = 1, Flags = MouseFlags.Button1Clicked };
|
||||
Application.OnMouseEvent (args);
|
||||
Application.Refresh ();
|
||||
|
||||
@@ -189,9 +181,7 @@ public class TabViewTests
|
||||
Assert.Equal (tab1, clicked);
|
||||
Assert.Equal (tab2, tv.SelectedTab);
|
||||
|
||||
args = new MouseEventEventArgs (
|
||||
new MouseEvent { X = 12, Y = 1, Flags = MouseFlags.Button1Clicked }
|
||||
);
|
||||
args = new MouseEvent { X = 12, Y = 1, Flags = MouseFlags.Button1Clicked };
|
||||
Application.OnMouseEvent (args);
|
||||
Application.Refresh ();
|
||||
|
||||
@@ -245,9 +235,7 @@ public class TabViewTests
|
||||
Application.Begin (top);
|
||||
|
||||
// Click the right arrow
|
||||
var args = new MouseEventEventArgs (
|
||||
new MouseEvent { X = 6, Y = 2, Flags = MouseFlags.Button1Clicked }
|
||||
);
|
||||
var args = new MouseEvent { X = 6, Y = 2, Flags = MouseFlags.Button1Clicked };
|
||||
Application.OnMouseEvent (args);
|
||||
Application.Refresh ();
|
||||
Assert.Null (clicked);
|
||||
@@ -267,9 +255,7 @@ public class TabViewTests
|
||||
);
|
||||
|
||||
// Click the left arrow
|
||||
args = new MouseEventEventArgs (
|
||||
new MouseEvent { X = 0, Y = 2, Flags = MouseFlags.Button1Clicked }
|
||||
);
|
||||
args = new MouseEvent { X = 0, Y = 2, Flags = MouseFlags.Button1Clicked };
|
||||
Application.OnMouseEvent (args);
|
||||
Application.Refresh ();
|
||||
Assert.Null (clicked);
|
||||
@@ -339,9 +325,7 @@ public class TabViewTests
|
||||
Application.Begin (top);
|
||||
|
||||
// Click the right arrow
|
||||
var args = new MouseEventEventArgs (
|
||||
new MouseEvent { X = 7, Y = 3, Flags = MouseFlags.Button1Clicked }
|
||||
);
|
||||
var args = new MouseEvent { X = 7, Y = 3, Flags = MouseFlags.Button1Clicked };
|
||||
Application.OnMouseEvent (args);
|
||||
Application.Refresh ();
|
||||
Assert.Null (clicked);
|
||||
@@ -363,9 +347,7 @@ public class TabViewTests
|
||||
);
|
||||
|
||||
// Click the left arrow
|
||||
args = new MouseEventEventArgs (
|
||||
new MouseEvent { X = 1, Y = 3, Flags = MouseFlags.Button1Clicked }
|
||||
);
|
||||
args = new MouseEvent { X = 1, Y = 3, Flags = MouseFlags.Button1Clicked };
|
||||
Application.OnMouseEvent (args);
|
||||
Application.Refresh ();
|
||||
Assert.Null (clicked);
|
||||
|
||||
Reference in New Issue
Block a user