public void ScrollUpFullPageWithControlPressed()
        {
            string content   = string.Join("\r\n", Enumerable.Range(0, 200).Select(i => Guid.NewGuid().ToString()));
            var    processor = CompositionHelper.GetProcessor(content, out var exportProvider, out var wpfTextView);
            var    args      = new MouseWheelEventArgs(Mouse.PrimaryDevice, Environment.TickCount, 120)
            {
                RoutedEvent = UIElement.MouseWheelEvent
            };

            var inputSimulator = new InputSimulator();

            inputSimulator.Keyboard.KeyDown(VirtualKeyCode.CONTROL);
            try
            {
                Assert.Equal(ModifierKeys.Control, Keyboard.Modifiers & ModifierKeys.Control);
                Assert.False(args.Handled);
                var lastVisibleLine = wpfTextView.TextViewLines.LastVisibleLine.Start.GetContainingLine().LineNumber;
                wpfTextView.TextViewLines.Scroll(ScrollDirection.Down, lastVisibleLine + 4);
                processor.PreprocessMouseWheel(args);
                Assert.True(args.Handled);

                Assert.Equal(4, wpfTextView.TextViewLines.FirstVisibleLine.Start.GetContainingLine().LineNumber);
            }
            finally
            {
                inputSimulator.Keyboard.KeyUp(VirtualKeyCode.CONTROL);
            }
        }
        public void ScrollWithoutControlPressed()
        {
            string content   = string.Join("\r\n", Enumerable.Range(0, 200).Select(i => Guid.NewGuid().ToString()));
            var    processor = CompositionHelper.GetProcessor(content, out var exportProvider, out var wpfTextView);
            var    args      = new MouseWheelEventArgs(Mouse.PrimaryDevice, Environment.TickCount, 120);

            Assert.Equal(ModifierKeys.None, Keyboard.Modifiers & ModifierKeys.Control);
            Assert.False(args.Handled);
            var firstVisibleLine = wpfTextView.TextViewLines.FirstVisibleLine.Start.GetContainingLine().LineNumber;

            processor.PreprocessMouseWheel(args);
            Assert.False(args.Handled);

            // The line number stays the same because the editor's default mouse handler is not part of these tests
            Assert.Equal(firstVisibleLine, wpfTextView.TextViewLines.FirstVisibleLine.Start.GetContainingLine().LineNumber);
        }
Exemple #3
0
        public void NullInput()
        {
            var provider = CompositionHelper.GetProvider(out _);

            Assert.Null(provider.GetAssociatedProcessor(null));
        }