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); }