예제 #1
0
        public void ValidateNotHandledWhenNotUIElement()
        {
            Control element = new Control();

            element.XYFocusKeyboardNavigation = XYFocusKeyboardNavigationMode.Enabled;
            var focusManagerMock = new MockFocusManager();

            var info = FocusSelection.TryDirectionalFocus(focusManagerMock, FocusNavigationDirection.Right, element);

            Assert.IsFalse(info.Handled);
        }
예제 #2
0
        public void ValidateShouldNotBubbleWhenModeNone()
        {
            Control element = new Control();

            element.XYFocusKeyboardNavigation = XYFocusKeyboardNavigationMode.Disabled;
            var focusManagerMock = new MockFocusManager();

            var info = FocusSelection.TryDirectionalFocus(focusManagerMock, FocusNavigationDirection.Right, element);

            Assert.IsFalse(info.Handled);
            Assert.IsFalse(info.ShouldBubble);
        }
예제 #3
0
        public void ValidateTryDirectionalFocusMarksUnhandled()
        {
            Control element = new Control();

            element.XYFocusKeyboardNavigation = XYFocusKeyboardNavigationMode.Enabled;
            var focusManagerMock = new MockFocusManager();

            focusManagerMock.FindNextFocusResult = null;

            var info = FocusSelection.TryDirectionalFocus(focusManagerMock, FocusNavigationDirection.Right, element);

            Assert.IsFalse(info.Handled);
        }
예제 #4
0
        public void ValidateTryDirectionalFocus()
        {
            var element = new Control();

            element.XYFocusKeyboardNavigation = XYFocusKeyboardNavigationMode.Enabled;

            var candidate = new Control();

            candidate.XYFocusKeyboardNavigation = XYFocusKeyboardNavigationMode.Disabled;

            var focusManagerMock = new MockFocusManager();

            focusManagerMock.FindNextFocusResult = candidate;

            var result = new FocusMovementResult(true, false);

            focusManagerMock.SetFocusedElementResult = result;

            var info = FocusSelection.TryDirectionalFocus(focusManagerMock, FocusNavigationDirection.Right, element);

            Assert.IsTrue(info.Handled);
        }