private DeclarePublicAPIAnalyzer CreateAnalyzer(string shippedApiText = "", string unshippedApiText = "")
 {
     var shippedText = new TestAdditionalText(DeclarePublicAPIAnalyzer.ShippedFileName, shippedApiText);
     var unshippedText = new TestAdditionalText(DeclarePublicAPIAnalyzer.UnshippedFileName, unshippedApiText);
     ImmutableArray<AdditionalText> array = ImmutableArray.Create<AdditionalText>(shippedText, unshippedText);
     return new DeclarePublicAPIAnalyzer(array);
 }
        private DeclarePublicAPIAnalyzer CreateAnalyzer(string shippedApiText = "", string unshippedApiText = "")
        {
            var shippedText   = new TestAdditionalText(DeclarePublicAPIAnalyzer.ShippedFileName, shippedApiText);
            var unshippedText = new TestAdditionalText(DeclarePublicAPIAnalyzer.UnshippedFileName, unshippedApiText);
            var array         = ImmutableArray.Create <AdditionalText>(shippedText, unshippedText);

            return(new DeclarePublicAPIAnalyzer(array));
        }
Beispiel #3
0
        public async Task AnalyzerOptionsArePassedToAllAnalyzers()
        {
            using var workspace = TestWorkspace.CreateCSharp(TestResource.AllInOneCSharpCode, TestOptions.Regular, composition: s_compositionWithMockDiagnosticUpdateSourceRegistrationService);

            var additionalDocId   = DocumentId.CreateNewId(workspace.CurrentSolution.Projects.Single().Id);
            var additionalText    = new TestAdditionalText("add.config", SourceText.From("random text"));
            var options           = new AnalyzerOptions(ImmutableArray.Create <AdditionalText>(additionalText));
            var analyzer          = new OptionsDiagnosticAnalyzer <SyntaxKind>(expectedOptions: options);
            var analyzerReference = new AnalyzerImageReference(ImmutableArray.Create <DiagnosticAnalyzer>(analyzer));

            workspace.TryApplyChanges(workspace.CurrentSolution
                                      .WithAnalyzerReferences(new[] { analyzerReference })
                                      .AddAdditionalDocument(additionalDocId, "add.config", additionalText.GetText() !));

            var sourceDocument = workspace.CurrentSolution.Projects.Single().Documents.Single();
            await DiagnosticProviderTestUtilities.GetAllDiagnosticsAsync(workspace, sourceDocument, new TextSpan(0, sourceDocument.GetTextAsync().Result.Length));

            analyzer.VerifyAnalyzerOptions();
        }