@ -11,9 +11,6 @@ namespace Avalonia.Controls.UnitTests.Platform
{
public class DefaultMenuInteractionHandlerTests
{
static PointerEventArgs CreateArgs ( RoutedEvent ev , object source )
= > new PointerEventArgs ( ev , source , new FakePointer ( ) , ( Visual ) source , default , 0 , PointerPointProperties . None , default ) ;
static PointerPressedEventArgs CreatePressed ( object source ) = > new PointerPressedEventArgs ( source ,
new FakePointer ( ) , ( Visual ) source , default , 0 , new PointerPointProperties ( RawInputModifiers . None , PointerUpdateKind . LeftButtonPressed ) ,
default ) ;
@ -171,7 +168,7 @@ namespace Avalonia.Controls.UnitTests.Platform
var menu = new Mock < IMenu > ( ) ;
var item = CreateMockMenuItem ( isTopLevel : true , hasSubMenu : true , isSubMenuOpen : true , parent : menu . Object ) ;
var nextItem = CreateMockMenuItem ( isTopLevel : true , hasSubMenu : true , parent : menu . Object ) ;
var e = Create Args( MenuItem . PointerEnteredItemEvent , nextItem . Object ) ;
var e = new RoutedEvent Args( MenuItem . PointerEnteredItemEvent , nextItem . Object ) ;
menu . SetupGet ( x = > x . SelectedItem ) . Returns ( item . Object ) ;
@ -191,7 +188,7 @@ namespace Avalonia.Controls.UnitTests.Platform
var target = new DefaultMenuInteractionHandler ( false ) ;
var menu = new Mock < IMenu > ( ) ;
var item = CreateMockMenuItem ( isTopLevel : true , parent : menu . Object ) ;
var e = Create Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
var e = new RoutedEvent Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
menu . SetupGet ( x = > x . SelectedItem ) . Returns ( item . Object ) ;
target . PointerExited ( item , e ) ;
@ -206,7 +203,7 @@ namespace Avalonia.Controls.UnitTests.Platform
var target = new DefaultMenuInteractionHandler ( false ) ;
var menu = new Mock < IMenu > ( ) ;
var item = CreateMockMenuItem ( isTopLevel : true , parent : menu . Object ) ;
var e = Create Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
var e = new RoutedEvent Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
menu . SetupGet ( x = > x . IsOpen ) . Returns ( true ) ;
menu . SetupGet ( x = > x . SelectedItem ) . Returns ( item . Object ) ;
@ -365,7 +362,7 @@ namespace Avalonia.Controls.UnitTests.Platform
var menu = Mock . Of < IMenu > ( ) ;
var parentItem = CreateMockMenuItem ( isTopLevel : true , hasSubMenu : true , parent : menu ) ;
var item = CreateMockMenuItem ( parent : parentItem . Object ) ;
var e = Create Args( MenuItem . PointerEnteredItemEvent , item . Object ) ;
var e = new RoutedEvent Args( MenuItem . PointerEnteredItemEvent , item . Object ) ;
target . PointerEntered ( item . Object , e ) ;
@ -381,7 +378,7 @@ namespace Avalonia.Controls.UnitTests.Platform
var menu = Mock . Of < IMenu > ( ) ;
var parentItem = CreateMockMenuItem ( isTopLevel : true , hasSubMenu : true , parent : menu ) ;
var item = CreateMockMenuItem ( hasSubMenu : true , parent : parentItem . Object ) ;
var e = Create Args( MenuItem . PointerEnteredItemEvent , item . Object ) ;
var e = new RoutedEvent Args( MenuItem . PointerEnteredItemEvent , item . Object ) ;
target . PointerEntered ( item . Object , e ) ;
item . Verify ( x = > x . Open ( ) , Times . Never ) ;
@ -401,7 +398,7 @@ namespace Avalonia.Controls.UnitTests.Platform
var parentItem = CreateMockMenuItem ( isTopLevel : true , hasSubMenu : true , parent : menu ) ;
var item = CreateMockMenuItem ( parent : parentItem . Object ) ;
var sibling = CreateMockMenuItem ( hasSubMenu : true , isSubMenuOpen : true , parent : parentItem . Object ) ;
var e = Create Args( MenuItem . PointerEnteredItemEvent , item . Object ) ;
var e = new RoutedEvent Args( MenuItem . PointerEnteredItemEvent , item . Object ) ;
parentItem . SetupGet ( x = > x . SubItems ) . Returns ( new [ ] { item . Object , sibling . Object } ) ;
@ -421,7 +418,7 @@ namespace Avalonia.Controls.UnitTests.Platform
var menu = Mock . Of < IMenu > ( ) ;
var parentItem = CreateMockMenuItem ( isTopLevel : true , hasSubMenu : true , parent : menu ) ;
var item = CreateMockMenuItem ( parent : parentItem . Object ) ;
var e = Create Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
var e = new RoutedEvent Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
parentItem . SetupGet ( x = > x . SelectedItem ) . Returns ( item . Object ) ;
target . PointerExited ( item , e ) ;
@ -438,7 +435,7 @@ namespace Avalonia.Controls.UnitTests.Platform
var parentItem = CreateMockMenuItem ( isTopLevel : true , hasSubMenu : true , parent : menu ) ;
var item = CreateMockMenuItem ( parent : parentItem . Object ) ;
var sibling = CreateMockMenuItem ( parent : parentItem . Object ) ;
var e = Create Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
var e = new RoutedEvent Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
parentItem . SetupGet ( x = > x . SelectedItem ) . Returns ( sibling . Object ) ;
target . PointerExited ( item , e ) ;
@ -454,7 +451,7 @@ namespace Avalonia.Controls.UnitTests.Platform
var menu = Mock . Of < IMenu > ( ) ;
var parentItem = CreateMockMenuItem ( isTopLevel : true , hasSubMenu : true , parent : menu ) ;
var item = CreateMockMenuItem ( hasSubMenu : true , parent : parentItem . Object ) ;
var e = Create Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
var e = new RoutedEvent Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
item . Setup ( x = > x . IsPointerOverSubMenu ) . Returns ( true ) ;
target . PointerExited ( item , e ) ;
@ -488,8 +485,8 @@ namespace Avalonia.Controls.UnitTests.Platform
var parentItem = CreateMockMenuItem ( isTopLevel : true , hasSubMenu : true , parent : menu ) ;
var item = CreateMockMenuItem ( hasSubMenu : true , parent : parentItem . Object ) ;
var childItem = CreateMockMenuItem ( parent : item . Object ) ;
var enter = Create Args( MenuItem . PointerEnteredItemEvent , item . Object ) ;
var leave = Create Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
var enter = new RoutedEvent Args( MenuItem . PointerEnteredItemEvent , item . Object ) ;
var leave = new RoutedEvent Args( MenuItem . PointerExitedItemEvent , item . Object ) ;
// Pointer enters item; item is selected.
target . PointerEntered ( item , enter ) ;