Ejemplo n.º 1
0
        public LanguageServerTestBase()
        {
#pragma warning disable CS0618 // Type or member is obsolete
            LegacyDispatcher = new TestProjectSnapshotManagerDispatcher();
#pragma warning restore CS0618 // Type or member is obsolete
            FilePathNormalizer = new FilePathNormalizer();
            var logger = new Mock <ILogger>(MockBehavior.Strict).Object;
            Mock.Get(logger).Setup(l => l.Log(It.IsAny <LogLevel>(), It.IsAny <EventId>(), It.IsAny <It.IsAnyType>(), It.IsAny <Exception>(), It.IsAny <Func <It.IsAnyType, Exception, string> >())).Verifiable();
            Mock.Get(logger).Setup(l => l.IsEnabled(It.IsAny <LogLevel>())).Returns(false);
            LoggerFactory = Mock.Of <ILoggerFactory>(factory => factory.CreateLogger(It.IsAny <string>()) == logger, MockBehavior.Strict);
            Dispatcher    = new LSPProjectSnapshotManagerDispatcher(LoggerFactory);
        }
        private RazorFormattingService CreateFormattingService(RazorCodeDocument codeDocument)
        {
            var mappingService = new DefaultRazorDocumentMappingService(LoggerFactory);

            var dispatcher   = new LSPProjectSnapshotManagerDispatcher(LoggerFactory);
            var versionCache = new DefaultDocumentVersionCache(dispatcher);

            var client = new FormattingLanguageServerClient();

            client.AddCodeDocument(codeDocument);
            var passes = new List <IFormattingPass>()
            {
                new HtmlFormattingPass(mappingService, FilePathNormalizer, client, versionCache, LoggerFactory),
                new CSharpFormattingPass(mappingService, FilePathNormalizer, client, LoggerFactory),
                new CSharpOnTypeFormattingPass(mappingService, FilePathNormalizer, client, LoggerFactory),
                new RazorFormattingPass(mappingService, FilePathNormalizer, client, LoggerFactory),
                new FormattingDiagnosticValidationPass(mappingService, FilePathNormalizer, client, LoggerFactory),
                new FormattingContentValidationPass(mappingService, FilePathNormalizer, client, LoggerFactory),
            };

            return(new DefaultRazorFormattingService(passes, LoggerFactory, TestAdhocWorkspaceFactory.Instance));
        }