|
|
|
@ -5,6 +5,7 @@ using System; |
|
|
|
using System.Linq; |
|
|
|
using Avalonia.Controls.Primitives; |
|
|
|
using Avalonia.Controls.Templates; |
|
|
|
using Avalonia.Input; |
|
|
|
using Avalonia.Media; |
|
|
|
using Xunit; |
|
|
|
|
|
|
|
@ -59,6 +60,64 @@ namespace Avalonia.Controls.UnitTests.Primitives |
|
|
|
Assert.Equal(50, target.Value); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Thumb_DragDelta_Event_Should_Raise_Scroll_Event() |
|
|
|
{ |
|
|
|
var target = new ScrollBar |
|
|
|
{ |
|
|
|
Template = new FuncControlTemplate<ScrollBar>(Template), |
|
|
|
}; |
|
|
|
|
|
|
|
target.ApplyTemplate(); |
|
|
|
|
|
|
|
var track = (Track)target.GetTemplateChildren().First(x => x.Name == "track"); |
|
|
|
|
|
|
|
var raisedEvent = Assert.Raises<ScrollEventArgs>( |
|
|
|
handler => target.Scroll += handler, |
|
|
|
handler => target.Scroll -= handler, |
|
|
|
() => |
|
|
|
{ |
|
|
|
var ev = new VectorEventArgs |
|
|
|
{ |
|
|
|
RoutedEvent = Thumb.DragDeltaEvent, |
|
|
|
Vector = new Vector(0, 0) |
|
|
|
}; |
|
|
|
|
|
|
|
track.Thumb.RaiseEvent(ev); |
|
|
|
}); |
|
|
|
|
|
|
|
Assert.Equal(ScrollEventType.ThumbTrack, raisedEvent.Arguments.ScrollEventType); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Thumb_DragComplete_Event_Should_Raise_Scroll_Event() |
|
|
|
{ |
|
|
|
var target = new ScrollBar |
|
|
|
{ |
|
|
|
Template = new FuncControlTemplate<ScrollBar>(Template), |
|
|
|
}; |
|
|
|
|
|
|
|
target.ApplyTemplate(); |
|
|
|
|
|
|
|
var track = (Track)target.GetTemplateChildren().First(x => x.Name == "track"); |
|
|
|
|
|
|
|
var raisedEvent = Assert.Raises<ScrollEventArgs>( |
|
|
|
handler => target.Scroll += handler, |
|
|
|
handler => target.Scroll -= handler, |
|
|
|
() => |
|
|
|
{ |
|
|
|
var ev = new VectorEventArgs |
|
|
|
{ |
|
|
|
RoutedEvent = Thumb.DragCompletedEvent, |
|
|
|
Vector = new Vector(0, 0) |
|
|
|
}; |
|
|
|
|
|
|
|
track.Thumb.RaiseEvent(ev); |
|
|
|
}); |
|
|
|
|
|
|
|
Assert.Equal(ScrollEventType.EndScroll, raisedEvent.Arguments.ScrollEventType); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void ScrollBar_Can_AutoHide() |
|
|
|
{ |
|
|
|
|