Beispiel #1
0
 /// <summary>
 /// This is not technically a Mock but often we want to create it with mocked
 /// backing values
 /// </summary>
 /// <returns></returns>
 public static IVimBufferData CreateVimBufferData(
     IVimTextBuffer vimTextBuffer,
     ITextView textView,
     IJumpList jumpList                 = null,
     IStatusUtil statusUtil             = null,
     IVimWindowSettings windowSettings  = null,
     ICaretRegisterMap caretRegisterMap = null,
     ISelectionUtil selectionUtil       = null,
     MockRepository factory             = null)
 {
     factory          = factory ?? new MockRepository(MockBehavior.Strict);
     statusUtil       = statusUtil ?? factory.Create <IStatusUtil>().Object;
     jumpList         = jumpList ?? factory.Create <IJumpList>().Object;
     windowSettings   = windowSettings ?? factory.Create <IVimWindowSettings>().Object;
     caretRegisterMap = caretRegisterMap ?? factory.Create <ICaretRegisterMap>().Object;
     selectionUtil    = selectionUtil ?? new SingleSelectionUtil(textView);
     return(new VimBufferData(
                vimTextBuffer,
                textView,
                windowSettings,
                jumpList,
                statusUtil,
                selectionUtil,
                caretRegisterMap));
 }
Beispiel #2
0
        internal BlockCaret(
            IVimBufferData vimBufferData,
            IClassificationFormatMap classificationFormatMap,
            IEditorFormatMap formatMap,
            IAdornmentLayer layer,
            IControlCharUtil controlCharUtil,
            IProtectedOperations protectedOperations)
        {
            _vimBufferData           = vimBufferData;
            _textView                = (IWpfTextView)_vimBufferData.TextView;
            _selectionUtil           = _vimBufferData.SelectionUtil;
            _editorFormatMap         = formatMap;
            _adornmentLayer          = layer;
            _protectedOperations     = protectedOperations;
            _classificationFormatMap = classificationFormatMap;
            _controlCharUtil         = controlCharUtil;

            _textView.LayoutChanged              += OnCaretEvent;
            _textView.GotAggregateFocus          += OnCaretEvent;
            _textView.LostAggregateFocus         += OnCaretEvent;
            _textView.Selection.SelectionChanged += OnCaretPositionOrSelectionChanged;
            _textView.Closed += OnTextViewClosed;

            _blinkTimer = CreateBlinkTimer(protectedOperations, OnCaretBlinkTimer);
        }
Beispiel #3
0
 /// <summary>
 /// Create a new instance of VimBufferData.  Centralized here to make it easier to
 /// absorb API changes in the Unit Tests
 /// </summary>
 protected IVimBufferData CreateVimBufferData(
     ITextView textView,
     IStatusUtil statusUtil             = null,
     IJumpList jumpList                 = null,
     IVimWindowSettings windowSettings  = null,
     ICaretRegisterMap caretRegisterMap = null,
     ISelectionUtil selectionUtil       = null)
 {
     return(CreateVimBufferData(
                Vim.GetOrCreateVimTextBuffer(textView.TextBuffer),
                textView,
                statusUtil,
                jumpList,
                windowSettings,
                caretRegisterMap,
                selectionUtil));
 }
        protected virtual void Create(params string[] lines)
        {
            _textView                    = CreateTextView(lines);
            _textBuffer                  = _textView.TextBuffer;
            _mockMultiSelectionUtil      = new MockSelectionUtil(_textView, isMultiSelectionSupported: true);
            VimHost.TryCustomProcessFunc = (_, command) => _mockMultiSelectionUtil.TryCustomProcess(command);
            var vimBufferData = CreateVimBufferData(_textView, null, null, null, null, _mockMultiSelectionUtil);

            _vimBuffer      = Vim.CreateVimBufferWithData(vimBufferData);
            _localSettings  = _vimBuffer.LocalSettings;
            _globalSettings = _localSettings.GlobalSettings;
            _windowSettings = _vimBuffer.WindowSettings;
            _selectionUtil  = _vimBuffer.VimBufferData.SelectionUtil;

            _testableMouseDevice = (TestableMouseDevice)MouseDevice;
            _testableMouseDevice.IsLeftButtonPressed = false;
            _testableMouseDevice.Point = null;
        }
Beispiel #5
0
 /// <summary>
 /// Create a new instance of VimBufferData.  Centralized here to make it easier to
 /// absorb API changes in the Unit Tests
 /// </summary>
 protected IVimBufferData CreateVimBufferData(
     IVimTextBuffer vimTextBuffer,
     ITextView textView,
     IStatusUtil statusUtil             = null,
     IJumpList jumpList                 = null,
     IVimWindowSettings windowSettings  = null,
     ICaretRegisterMap caretRegisterMap = null,
     ISelectionUtil selectionUtil       = null)
 {
     jumpList         = jumpList ?? new JumpList(textView, BufferTrackingService);
     statusUtil       = statusUtil ?? CompositionContainer.GetExportedValue <IStatusUtilFactory>().GetStatusUtilForView(textView);
     windowSettings   = windowSettings ?? new WindowSettings(vimTextBuffer.GlobalSettings);
     caretRegisterMap = caretRegisterMap ?? new CaretRegisterMap(Vim.RegisterMap);
     selectionUtil    = selectionUtil ?? new SingleSelectionUtil(textView);
     return(new VimBufferData(
                vimTextBuffer,
                textView,
                windowSettings,
                jumpList,
                statusUtil,
                selectionUtil,
                caretRegisterMap));
 }