internal TaggerProvider(ITableManagerProvider tableManagerProvider, ITextDocumentFactoryService textDocumentFactoryService, IIssuesFilter issuesFilter, IAnalyzerController analyzerController, [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider, ISonarLanguageRecognizer languageRecognizer, IAnalysisRequester analysisRequester, ILogger logger, IScheduler scheduler) { this.errorTableManager = tableManagerProvider.GetTableManager(StandardTables.ErrorsTable); this.textDocumentFactoryService = textDocumentFactoryService; this.issuesFilter = issuesFilter; this.errorTableManager.AddSource(this, StandardTableColumnDefinitions.DetailsExpander, StandardTableColumnDefinitions.ErrorSeverity, StandardTableColumnDefinitions.ErrorCode, StandardTableColumnDefinitions.ErrorSource, StandardTableColumnDefinitions.BuildTool, StandardTableColumnDefinitions.ErrorSource, StandardTableColumnDefinitions.ErrorCategory, StandardTableColumnDefinitions.Text, StandardTableColumnDefinitions.DocumentName, StandardTableColumnDefinitions.Line, StandardTableColumnDefinitions.Column, StandardTableColumnDefinitions.ProjectName); this.analyzerController = analyzerController; this.dte = serviceProvider.GetService <DTE>(); this.languageRecognizer = languageRecognizer; this.logger = logger; this.scheduler = scheduler; vsStatusBar = serviceProvider.GetService(typeof(IVsStatusbar)) as IVsStatusbar; analysisRequester.AnalysisRequested += OnAnalysisRequested; }
internal TaggerProvider(ISonarErrorListDataSource sonarErrorDataSource, ITextDocumentFactoryService textDocumentFactoryService, IIssuesFilter issuesFilter, IAnalyzerController analyzerController, [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider, ISonarLanguageRecognizer languageRecognizer, IAnalysisRequester analysisRequester, IAnalysisIssueVisualizationConverter converter, ILogger logger, IScheduler scheduler) { this.sonarErrorDataSource = sonarErrorDataSource; this.textDocumentFactoryService = textDocumentFactoryService; this.issuesFilter = issuesFilter; this.analyzerController = analyzerController; this.dte = serviceProvider.GetService <DTE>(); this.languageRecognizer = languageRecognizer; this.converter = converter; this.logger = logger; this.scheduler = scheduler; vsStatusBar = serviceProvider.GetService(typeof(IVsStatusbar)) as IVsStatusbar; analysisRequester.AnalysisRequested += OnAnalysisRequested; vsSolution = serviceProvider.GetService(typeof(SVsSolution)) as IVsSolution5; }
public void SetUp() { // minimal setup to create a tagger mockSonarErrorDataSource = new Mock <ISonarErrorListDataSource>(); mockAnalyzerController = new Mock <IAnalyzerController>(); mockAnalyzerController.Setup(x => x.IsAnalysisSupported(It.IsAny <IEnumerable <AnalysisLanguage> >())).Returns(true); analyzerController = this.mockAnalyzerController.Object; var mockProject = new Mock <Project>(); mockProject.Setup(p => p.Name).Returns("MyProject"); var project = mockProject.Object; var mockProjectItem = new Mock <ProjectItem>(); mockProjectItem.Setup(s => s.ContainingProject).Returns(project); var projectItem = mockProjectItem.Object; var mockSolution = new Mock <Solution>(); mockSolution.Setup(s => s.FindProjectItem(It.IsAny <string>())).Returns(projectItem); var solution = mockSolution.Object; var mockDTE = new Mock <DTE>(); mockDTE.Setup(d => d.Solution).Returns(solution); var dte = mockDTE.Object; var mockServiceProvider = new Mock <IServiceProvider>(); mockServiceProvider.Setup(s => s.GetService(typeof(DTE))).Returns(dte); mockServiceProvider.Setup(s => s.GetService(typeof(SVsSolution))).Returns(Mock.Of <IVsSolution5>()); var serviceProvider = mockServiceProvider.Object; dummyDocumentFactoryService = new DummyTextDocumentFactoryService(); logger = new TestLogger(); mockSonarLanguageRecognizer = new Mock <ISonarLanguageRecognizer>(); var mockAnalysisRequester = new Mock <IAnalysisRequester>(); mockAnalysisScheduler = new Mock <IScheduler>(); mockAnalysisScheduler.Setup(x => x.Schedule(It.IsAny <string>(), It.IsAny <Action <CancellationToken> >(), It.IsAny <int>())) .Callback((string file, Action <CancellationToken> analyze, int timeout) => analyze(CancellationToken.None)); var issuesFilter = new Mock <IIssuesFilter>(); this.provider = new TaggerProvider(mockSonarErrorDataSource.Object, dummyDocumentFactoryService, issuesFilter.Object, analyzerController, serviceProvider, mockSonarLanguageRecognizer.Object, mockAnalysisRequester.Object, Mock.Of <IAnalysisIssueVisualizationConverter>(), logger, mockAnalysisScheduler.Object); }
public void SetUp() { // minimal setup to create a tagger mockAnalyzerController = new Mock <IAnalyzerController>(); mockAnalyzerController.Setup(x => x.IsAnalysisSupported(It.IsAny <IEnumerable <AnalysisLanguage> >())).Returns(true); analyzerController = this.mockAnalyzerController.Object; var mockTableManagerProvider = new Mock <ITableManagerProvider>(); mockTableManagerProvider.Setup(t => t.GetTableManager(StandardTables.ErrorsTable)) .Returns(new Mock <ITableManager>().Object); var tableManagerProvider = mockTableManagerProvider.Object; var mockContentTypeRegistryService = new Mock <IContentTypeRegistryService>(); mockContentTypeRegistryService.Setup(c => c.ContentTypes).Returns(Enumerable.Empty <IContentType>()); var contentTypeRegistryService = mockContentTypeRegistryService.Object; var mockProject = new Mock <Project>(); mockProject.Setup(p => p.Name).Returns("MyProject"); var project = mockProject.Object; var mockProjectItem = new Mock <ProjectItem>(); mockProjectItem.Setup(s => s.ContainingProject).Returns(project); var projectItem = mockProjectItem.Object; var mockSolution = new Mock <Solution>(); mockSolution.Setup(s => s.FindProjectItem(It.IsAny <string>())).Returns(projectItem); var solution = mockSolution.Object; var mockDTE = new Mock <DTE>(); mockDTE.Setup(d => d.Solution).Returns(solution); var dte = mockDTE.Object; var mockServiceProvider = new Mock <IServiceProvider>(); mockServiceProvider.Setup(s => s.GetService(typeof(DTE))).Returns(dte); var serviceProvider = mockServiceProvider.Object; var mockFileExtensionRegistryService = new Mock <IFileExtensionRegistryService>(); var fileExtensionRegistryService = mockFileExtensionRegistryService.Object; var mockJsContentType = new Mock <IContentType>(); mockJsContentType.Setup(c => c.IsOfType(It.IsAny <string>())).Returns(false); mockJsContentType.Setup(c => c.IsOfType("JavaScript")).Returns(true); this.jsContentType = mockJsContentType.Object; dummyDocumentFactoryService = new DummyTextDocumentFactoryService(); mockLogger = new Mock <ILogger>(); var sonarLanguageRecognizer = new SonarLanguageRecognizer(contentTypeRegistryService, fileExtensionRegistryService); var mockAnalysisRequester = new Mock <IAnalysisRequester>(); this.provider = new TaggerProvider(tableManagerProvider, dummyDocumentFactoryService, analyzerController, serviceProvider, sonarLanguageRecognizer, mockAnalysisRequester.Object, mockLogger.Object); }