public TemplateCompletionHandlerProvider( ITemplateEditorOptions options, IVsEditorAdaptersFactoryService editorAdapterFactory, SVsServiceProvider serviceProvider, ICompletionBroker completionBroker) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (editorAdapterFactory == null) { throw new ArgumentNullException(nameof(editorAdapterFactory)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (completionBroker == null) { throw new ArgumentNullException(nameof(completionBroker)); } this.options = options; this.editorAdapterFactory = editorAdapterFactory; this.serviceProvider = serviceProvider; this.completionBroker = completionBroker; }
public static void CreateTaggerDoesNotReturnTaggerWhenErrorUnderliningIsDisabled() { ITemplateEditorOptions options = OptionsWithErrorUnderliningEnabled(false); var target = new TemplateErrorTaggerProvider(options); Assert.Null(target.CreateTagger <ErrorTag>(new FakeTextBuffer(string.Empty))); }
public static void CreateTaggerReturnsTemplateClassificationTagger() { ITemplateEditorOptions options = OptionsWithSyntaxColorizationEnabled(true); var target = new TemplateClassificationTaggerProvider(options, new FakeClassificationTypeRegistryService()); Assert.NotNull(target.CreateTagger <ClassificationTag>(new FakeTextBuffer(string.Empty))); }
public static void TryCreateQuickInfoSourceReturnsNullWhenQuickInfoTooltipsAreDisabled() { ITemplateEditorOptions options = OptionsWithQuickInfoTooltipsEnabled(false); var provider = new TemplateQuickInfoSourceProvider(options); Assert.Null(provider.TryCreateQuickInfoSource(new FakeTextBuffer(string.Empty))); }
public static void CreateTaggerAlwaysReturnsNullBecauseTemplateErrorReporterIsNotATagger() { ITemplateEditorOptions options = OptionsWithErrorReportingEnabled(true); var provider = new TemplateErrorReporterProvider(options, Substitute.For <SVsServiceProvider>(), Substitute.For <ITextDocumentFactoryService>()); Assert.Null(provider.CreateTagger <ErrorTag>(new FakeTextBuffer(string.Empty))); }
public static void CreateTaggerReturnsTemplateErrorTagger() { ITemplateEditorOptions options = OptionsWithErrorUnderliningEnabled(true); var target = new TemplateErrorTaggerProvider(options); Assert.NotNull(target.CreateTagger <ErrorTag>(new FakeTextBuffer(string.Empty))); }
public static void CreateTaggerDoesNotReturnTaggerWhenTemplateOutliningIsDisabled() { ITemplateEditorOptions options = OptionsWithTemplateOutliningEnabled(false); var provider = new TemplateOutliningTaggerProvider(options); Assert.Null(provider.CreateTagger <OutliningRegionTag>(new FakeTextBuffer(string.Empty))); }
public static void CreateTaggerReturnsTemplateOutliningTagger() { ITemplateEditorOptions options = OptionsWithTemplateOutliningEnabled(true); var provider = new TemplateOutliningTaggerProvider(options); var tagger = provider.CreateTagger <OutliningRegionTag>(new FakeTextBuffer(string.Empty)); Assert.Equal(typeof(TemplateOutliningTagger), tagger.GetType()); }
public TemplateQuickInfoSourceProvider(ITemplateEditorOptions options) { if (options == null) { throw new ArgumentNullException(nameof(options)); } this.options = options; }
public TemplateOutliningTaggerProvider(ITemplateEditorOptions options) { if (options == null) { throw new ArgumentNullException(nameof(options)); } this.options = options; }
public static void TryCreateQuickInfoSourceReturnsTemplateQuickInfoSource() { ITemplateEditorOptions options = OptionsWithQuickInfoTooltipsEnabled(true); var provider = new TemplateQuickInfoSourceProvider(options); var textBuffer = new FakeTextBuffer(string.Empty); IQuickInfoSource quickInfoSource = provider.TryCreateQuickInfoSource(textBuffer); Assert.Equal(typeof(TemplateQuickInfoSource), quickInfoSource.GetType()); }
public static void CreateTaggerReturnsSingleTaggerWhenCalledMultipleTimesForSameBuffer() { ITemplateEditorOptions options = OptionsWithTemplateOutliningEnabled(true); var provider = new TemplateOutliningTaggerProvider(options); var buffer = new FakeTextBuffer(string.Empty); var tagger1 = provider.CreateTagger <OutliningRegionTag>(buffer); var tagger2 = provider.CreateTagger <OutliningRegionTag>(buffer); Assert.Same(tagger1, tagger2); }
public static void TryCreateQuickInfoSourceReturnsSameObjectWhenCalledMultipleTimesForSameBuffer() { ITemplateEditorOptions options = OptionsWithQuickInfoTooltipsEnabled(true); var provider = new TemplateQuickInfoSourceProvider(options); var textBuffer = new FakeTextBuffer(string.Empty); IQuickInfoSource source1 = provider.TryCreateQuickInfoSource(textBuffer); IQuickInfoSource source2 = provider.TryCreateQuickInfoSource(textBuffer); Assert.Same(source1, source2); }
public static void CreateTaggerReturnsSameTaggerWhenCalledMultipleTimesForSameBuffer() { ITemplateEditorOptions options = OptionsWithSyntaxColorizationEnabled(true); var target = new TemplateClassificationTaggerProvider(options, new FakeClassificationTypeRegistryService()); var buffer = new FakeTextBuffer(string.Empty); var tagger1 = target.CreateTagger <ClassificationTag>(buffer); var tagger2 = target.CreateTagger <ClassificationTag>(buffer); Assert.Same(tagger1, tagger2); }
public static void CreateTaggerReturnsSameTaggerWhenCalledMultipleTimesForSameBuffer() { ITemplateEditorOptions options = OptionsWithErrorUnderliningEnabled(true); var target = new TemplateErrorTaggerProvider(options); var buffer = new FakeTextBuffer(string.Empty); var tagger1 = target.CreateTagger <ErrorTag>(buffer); var tagger2 = target.CreateTagger <ErrorTag>(buffer); Assert.Same(tagger1, tagger2); }
public static void CreateTaggerDoesNotCreateTemplateErrorReporterWhenErrorReportingIsDisabled() { ITemplateEditorOptions options = OptionsWithErrorReportingEnabled(false); var provider = new TemplateErrorReporterProvider(options, Substitute.For <SVsServiceProvider>(), Substitute.For <ITextDocumentFactoryService>()); ITextBuffer textBuffer = new FakeTextBuffer(string.Empty); provider.CreateTagger <ErrorTag>(textBuffer); Assert.False(textBuffer.Properties.ContainsProperty(typeof(TemplateErrorReporter))); }
public static void TextViewCreatedDoesNotCreateTemplateCompletionHandlerWhenCompletionListsAreDisabled() { ITemplateEditorOptions options = OptionsWithCompletionListsEnabled(false); var adapterFactory = Substitute.For <IVsEditorAdaptersFactoryService>(); var provider = new TemplateCompletionHandlerProvider(options, adapterFactory, Substitute.For <SVsServiceProvider>(), Substitute.For <ICompletionBroker>()); var viewAdapter = Substitute.For <IVsTextView>(); provider.VsTextViewCreated(viewAdapter); adapterFactory.DidNotReceive().GetWpfTextView(viewAdapter); }
public static void TextViewCreatedDoesNotCreateTemplateCompletionHandlerWhenViewAdapterDoesNotHaveTextView() { ITemplateEditorOptions options = OptionsWithCompletionListsEnabled(true); var adapterFactory = Substitute.For <IVsEditorAdaptersFactoryService>(); adapterFactory.GetWpfTextView(Arg.Any <IVsTextView>()).Returns((IWpfTextView)null); var provider = new TemplateCompletionHandlerProvider(options, adapterFactory, Substitute.For <SVsServiceProvider>(), Substitute.For <ICompletionBroker>()); provider.VsTextViewCreated(Substitute.For <IVsTextView>()); // No exception expected }
public TemplateClassificationTaggerProvider(ITemplateEditorOptions options, IClassificationTypeRegistryService classificationTypeRegistry) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (classificationTypeRegistry == null) { throw new ArgumentNullException(nameof(classificationTypeRegistry)); } this.options = options; this.classificationTypeRegistry = classificationTypeRegistry; }
public static void TextViewCreatedCreatesTemplateCompletionHandlerWhenViewAdapterHasTextView() { var viewProperties = new PropertyCollection(); var view = Substitute.For <IWpfTextView>(); view.Properties.Returns(viewProperties); var viewAdapter = Substitute.For <IVsTextView>(); var adapterFactory = Substitute.For <IVsEditorAdaptersFactoryService>(); adapterFactory.GetWpfTextView(viewAdapter).Returns(view); ITemplateEditorOptions options = OptionsWithCompletionListsEnabled(true); var provider = new TemplateCompletionHandlerProvider(options, adapterFactory, Substitute.For <SVsServiceProvider>(), Substitute.For <ICompletionBroker>()); provider.VsTextViewCreated(viewAdapter); Assert.True(viewProperties.ContainsProperty(typeof(TemplateCompletionHandler))); }
public static void TestViewCreatedSetsNextHandlerOfTemplateCompletionHandler() { var viewProperties = new PropertyCollection(); var view = Substitute.For <IWpfTextView>(); view.Properties.Returns(viewProperties); var viewAdapter = Substitute.For <IVsTextView>(); var adapterFactory = Substitute.For <IVsEditorAdaptersFactoryService>(); adapterFactory.GetWpfTextView(viewAdapter).Returns(view); ITemplateEditorOptions options = OptionsWithCompletionListsEnabled(true); var provider = new TemplateCompletionHandlerProvider(options, adapterFactory, Substitute.For <SVsServiceProvider>(), Substitute.For <ICompletionBroker>()); provider.VsTextViewCreated(viewAdapter); var handler = (TemplateCompletionHandler)viewProperties.GetProperty(typeof(TemplateCompletionHandler)); viewAdapter.Received().AddCommandFilter(handler, out handler.NextHandler); }
public static void TextViewCreatedAddsTemplateCompletionHandlerToTextViewCommandFilters() { var viewProperties = new PropertyCollection(); var view = Substitute.For <IWpfTextView>(); view.Properties.Returns(viewProperties); var viewAdapter = Substitute.For <IVsTextView>(); var adapterFactory = Substitute.For <IVsEditorAdaptersFactoryService>(); adapterFactory.GetWpfTextView(viewAdapter).Returns(view); ITemplateEditorOptions options = OptionsWithCompletionListsEnabled(true); var provider = new TemplateCompletionHandlerProvider(options, adapterFactory, Substitute.For <SVsServiceProvider>(), Substitute.For <ICompletionBroker>()); provider.VsTextViewCreated(viewAdapter); IOleCommandTarget nextTarget; viewAdapter.Received().AddCommandFilter(Arg.Any <TemplateCompletionHandler>(), out nextTarget); }
public TemplateErrorReporterProvider( ITemplateEditorOptions options, SVsServiceProvider serviceProvider, ITextDocumentFactoryService textDocumentFactory) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (textDocumentFactory == null) { throw new ArgumentNullException(nameof(textDocumentFactory)); } this.options = options; this.serviceProvider = serviceProvider; this.textDocumentFactory = textDocumentFactory; }