Exemplo n.º 1
0
        public void AdditionalFileService_GetFilesMatchingPattern_MatchesFound()
        {
            var additionalFiles = ImmutableArray.Create <AdditionalText>(
                new TestAdditionalDocument("a1.txt", string.Empty),
                new TestAdditionalDocument("aa.xml", string.Empty),
                new TestAdditionalDocument("a2.txt", string.Empty));

            var additionalFileService = new AdditionalFileService(additionalFiles, FileParseRule);
            var matchingFiles         = additionalFileService.GetFilesMatchingPattern(@"a\d.txt").Select(x => x.Path).ToList();

            Assert.Equal(2, matchingFiles.Count);
            Assert.Contains("a1.txt", matchingFiles);
            Assert.Contains("a2.txt", matchingFiles);
        }
Exemplo n.º 2
0
            public override void Initialize(AnalysisContext context)
            {
                context.RegisterCompilationStartAction(compilationStartContext =>
                {
                    var additionalFileService = new AdditionalFileService(compilationStartContext.Options.AdditionalFiles, FileParseRule);

                    foreach (AdditionalText file in additionalFileService.GetFilesMatchingPattern(ExampleXmlFileName))
                    {
                        additionalFileService.ParseXmlFile(file);
                    }

                    // Register a random SyntaxNodeAction to avoid error RS1013: Start action has no registered non-end actions
                    compilationStartContext.RegisterSyntaxNodeAction(_ => { }, SyntaxKind.ClassDeclaration);
                    compilationStartContext.RegisterCompilationEndAction(additionalFileService.ReportAnyParsingDiagnostics);
                });
            }