|
|
|
@ -24,13 +24,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
public void Tapped_Should_Follow_Pointer_Pressed_Released() |
|
|
|
{ |
|
|
|
Border border = new Border(); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var result = new List<string>(); |
|
|
|
|
|
|
|
AddHandlers(decorator, border, result, false); |
|
|
|
AddHandlers(root, border, result, false); |
|
|
|
|
|
|
|
_mouse.Click(border); |
|
|
|
|
|
|
|
@ -41,13 +41,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
public void Tapped_Should_Be_Raised_Even_When_Pressed_Released_Handled() |
|
|
|
{ |
|
|
|
Border border = new Border(); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var result = new List<string>(); |
|
|
|
|
|
|
|
AddHandlers(decorator, border, result, true); |
|
|
|
AddHandlers(root, border, result, true); |
|
|
|
|
|
|
|
_mouse.Click(border); |
|
|
|
|
|
|
|
@ -58,13 +58,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
public void Tapped_Should_Not_Be_Raised_For_Middle_Button() |
|
|
|
{ |
|
|
|
Border border = new Border(); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var raised = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.TappedEvent, (_, _) => raised = true); |
|
|
|
root.AddHandler(Gestures.TappedEvent, (_, _) => raised = true); |
|
|
|
|
|
|
|
_mouse.Click(border, MouseButton.Middle); |
|
|
|
|
|
|
|
@ -75,13 +75,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
public void Tapped_Should_Not_Be_Raised_For_Right_Button() |
|
|
|
{ |
|
|
|
Border border = new Border(); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var raised = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.TappedEvent, (_, _) => raised = true); |
|
|
|
root.AddHandler(Gestures.TappedEvent, (_, _) => raised = true); |
|
|
|
|
|
|
|
_mouse.Click(border, MouseButton.Right); |
|
|
|
|
|
|
|
@ -92,13 +92,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
public void RightTapped_Should_Be_Raised_For_Right_Button() |
|
|
|
{ |
|
|
|
Border border = new Border(); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var raised = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.RightTappedEvent, (_, _) => raised = true); |
|
|
|
root.AddHandler(Gestures.RightTappedEvent, (_, _) => raised = true); |
|
|
|
|
|
|
|
_mouse.Click(border, MouseButton.Right); |
|
|
|
|
|
|
|
@ -109,13 +109,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
public void DoubleTapped_Should_Follow_Pointer_Pressed_Released_Pressed() |
|
|
|
{ |
|
|
|
Border border = new Border(); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var result = new List<string>(); |
|
|
|
|
|
|
|
AddHandlers(decorator, border, result, false); |
|
|
|
AddHandlers(root, border, result, false); |
|
|
|
|
|
|
|
_mouse.Click(border); |
|
|
|
_mouse.Down(border, clickCount: 2); |
|
|
|
@ -127,13 +127,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
public void DoubleTapped_Should_Be_Raised_Even_When_Pressed_Released_Handled() |
|
|
|
{ |
|
|
|
Border border = new Border(); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var result = new List<string>(); |
|
|
|
|
|
|
|
AddHandlers(decorator, border, result, true); |
|
|
|
AddHandlers(root, border, result, true); |
|
|
|
|
|
|
|
_mouse.Click(border); |
|
|
|
_mouse.Down(border, clickCount: 2); |
|
|
|
@ -145,13 +145,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
public void DoubleTapped_Should_Not_Be_Raised_For_Middle_Button() |
|
|
|
{ |
|
|
|
Border border = new Border(); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var raised = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.DoubleTappedEvent, (_, _) => raised = true); |
|
|
|
root.AddHandler(Gestures.DoubleTappedEvent, (_, _) => raised = true); |
|
|
|
|
|
|
|
_mouse.Click(border, MouseButton.Middle); |
|
|
|
_mouse.Down(border, MouseButton.Middle, clickCount: 2); |
|
|
|
@ -163,13 +163,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
public void DoubleTapped_Should_Not_Be_Raised_For_Right_Button() |
|
|
|
{ |
|
|
|
Border border = new Border(); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var raised = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.DoubleTappedEvent, (_, _) => raised = true); |
|
|
|
root.AddHandler(Gestures.DoubleTappedEvent, (_, _) => raised = true); |
|
|
|
|
|
|
|
_mouse.Click(border, MouseButton.Right); |
|
|
|
_mouse.Down(border, MouseButton.Right, clickCount: 2); |
|
|
|
@ -191,13 +191,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
|
|
|
|
Border border = new Border(); |
|
|
|
Gestures.SetIsHoldWithMouseEnabled(border, true); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
HoldingState holding = HoldingState.Cancelled; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.HoldingEvent, (_, e) => holding = e.HoldingState); |
|
|
|
root.AddHandler(Gestures.HoldingEvent, (_, e) => holding = e.HoldingState); |
|
|
|
|
|
|
|
_mouse.Down(border); |
|
|
|
Assert.False(holding != HoldingState.Cancelled); |
|
|
|
@ -227,13 +227,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
|
|
|
|
Border border = new Border(); |
|
|
|
Gestures.SetIsHoldWithMouseEnabled(border, true); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var raised = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.HoldingEvent, (_, e) => raised = e.HoldingState == HoldingState.Started); |
|
|
|
root.AddHandler(Gestures.HoldingEvent, (_, e) => raised = e.HoldingState == HoldingState.Started); |
|
|
|
|
|
|
|
_mouse.Down(border); |
|
|
|
Assert.False(raised); |
|
|
|
@ -262,13 +262,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
|
|
|
|
Border border = new Border(); |
|
|
|
Gestures.SetIsHoldWithMouseEnabled(border, true); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var raised = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.HoldingEvent, (_, e) => raised = e.HoldingState == HoldingState.Completed); |
|
|
|
root.AddHandler(Gestures.HoldingEvent, (_, e) => raised = e.HoldingState == HoldingState.Completed); |
|
|
|
|
|
|
|
_mouse.Down(border); |
|
|
|
Assert.False(raised); |
|
|
|
@ -297,13 +297,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
|
|
|
|
Border border = new Border(); |
|
|
|
Gestures.SetIsHoldWithMouseEnabled(border, true); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var cancelled = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.HoldingEvent, (_, e) => cancelled = e.HoldingState == HoldingState.Cancelled); |
|
|
|
root.AddHandler(Gestures.HoldingEvent, (_, e) => cancelled = e.HoldingState == HoldingState.Cancelled); |
|
|
|
|
|
|
|
_mouse.Down(border); |
|
|
|
Assert.False(cancelled); |
|
|
|
@ -333,13 +333,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
|
|
|
|
Border border = new Border(); |
|
|
|
Gestures.SetIsHoldWithMouseEnabled(border, true); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot() |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var cancelled = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.HoldingEvent, (_, e) => cancelled = e.HoldingState == HoldingState.Cancelled); |
|
|
|
root.AddHandler(Gestures.HoldingEvent, (_, e) => cancelled = e.HoldingState == HoldingState.Cancelled); |
|
|
|
|
|
|
|
_mouse.Down(border); |
|
|
|
|
|
|
|
@ -369,13 +369,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
|
|
|
|
Border border = new Border(); |
|
|
|
Gestures.SetIsHoldWithMouseEnabled(border, true); |
|
|
|
var decorator = new Decorator |
|
|
|
var testRoot = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var raised = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.HoldingEvent, (_, e) => raised = e.HoldingState == HoldingState.Completed); |
|
|
|
testRoot.AddHandler(Gestures.HoldingEvent, (_, e) => raised = e.HoldingState == HoldingState.Completed); |
|
|
|
|
|
|
|
var secondMouse = new MouseTestHelper(); |
|
|
|
|
|
|
|
@ -392,12 +392,12 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
} |
|
|
|
|
|
|
|
private static void AddHandlers( |
|
|
|
Decorator decorator, |
|
|
|
TestRoot root, |
|
|
|
Border border, |
|
|
|
IList<string> result, |
|
|
|
bool markHandled) |
|
|
|
{ |
|
|
|
decorator.AddHandler(InputElement.PointerPressedEvent, (_, e) => |
|
|
|
root.AddHandler(InputElement.PointerPressedEvent, (_, e) => |
|
|
|
{ |
|
|
|
result.Add("dp"); |
|
|
|
|
|
|
|
@ -407,7 +407,7 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
decorator.AddHandler(InputElement.PointerReleasedEvent, (_, e) => |
|
|
|
root.AddHandler(InputElement.PointerReleasedEvent, (_, e) => |
|
|
|
{ |
|
|
|
result.Add("dr"); |
|
|
|
|
|
|
|
@ -420,8 +420,8 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
border.AddHandler(InputElement.PointerPressedEvent, (_, _) => result.Add("bp")); |
|
|
|
border.AddHandler(InputElement.PointerReleasedEvent, (_, _) => result.Add("br")); |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.TappedEvent, (_, _) => result.Add("dt")); |
|
|
|
decorator.AddHandler(Gestures.DoubleTappedEvent, (_, _) => result.Add("ddt")); |
|
|
|
root.AddHandler(Gestures.TappedEvent, (_, _) => result.Add("dt")); |
|
|
|
root.AddHandler(Gestures.DoubleTappedEvent, (_, _) => result.Add("ddt")); |
|
|
|
border.AddHandler(Gestures.TappedEvent, (_, _) => result.Add("bt")); |
|
|
|
border.AddHandler(Gestures.DoubleTappedEvent, (_, _) => result.Add("bdt")); |
|
|
|
} |
|
|
|
@ -438,13 +438,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
Background = new SolidColorBrush(Colors.Red) |
|
|
|
}; |
|
|
|
border.GestureRecognizers.Add(new PinchGestureRecognizer()); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var raised = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.PinchEvent, (_, _) => raised = true); |
|
|
|
root.AddHandler(Gestures.PinchEvent, (_, _) => raised = true); |
|
|
|
|
|
|
|
var firstPoint = new Point(5, 5); |
|
|
|
var secondPoint = new Point(10, 10); |
|
|
|
@ -466,13 +466,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
Background = new SolidColorBrush(Colors.Red) |
|
|
|
}; |
|
|
|
border.GestureRecognizers.Add(new PinchGestureRecognizer()); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var raised = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.PinchEvent, (_, _) => raised = true); |
|
|
|
root.AddHandler(Gestures.PinchEvent, (_, _) => raised = true); |
|
|
|
|
|
|
|
var firstPoint = new Point(5, 5); |
|
|
|
var secondPoint = new Point(10, 10); |
|
|
|
@ -502,13 +502,13 @@ namespace Avalonia.Base.UnitTests.Input |
|
|
|
CanVerticallyScroll = true, |
|
|
|
ScrollStartDistance = 50 |
|
|
|
}); |
|
|
|
var decorator = new Decorator |
|
|
|
var root = new TestRoot |
|
|
|
{ |
|
|
|
Child = border |
|
|
|
}; |
|
|
|
var raised = false; |
|
|
|
|
|
|
|
decorator.AddHandler(Gestures.ScrollGestureEvent, (_, _) => raised = true); |
|
|
|
root.AddHandler(Gestures.ScrollGestureEvent, (_, _) => raised = true); |
|
|
|
|
|
|
|
var firstTouch = new TouchTestHelper(); |
|
|
|
|
|
|
|
|