private RazorContentTypeChangeListener CreateListener(
            TrackingLSPDocumentManager lspDocumentManager      = null,
            LSPEditorFeatureDetector lspEditorFeatureDetector  = null,
            IFileToContentTypeService fileToContentTypeService = null)
        {
            var textDocumentFactory = new Mock <ITextDocumentFactoryService>(MockBehavior.Strict).Object;

            Mock.Get(textDocumentFactory).Setup(f => f.TryGetTextDocument(It.IsAny <ITextBuffer>(), out It.Ref <ITextDocument> .IsAny)).Returns(false);

            lspDocumentManager ??= Mock.Of <TrackingLSPDocumentManager>(MockBehavior.Strict);
            lspEditorFeatureDetector ??= Mock.Of <LSPEditorFeatureDetector>(detector => detector.IsLSPEditorAvailable(It.IsAny <string>(), null) == true && detector.IsRemoteClient() == false, MockBehavior.Strict);
            fileToContentTypeService ??= Mock.Of <IFileToContentTypeService>(detector => detector.GetContentTypeForFilePath(It.IsAny <string>()) == RazorContentType, MockBehavior.Strict);
            var textManager = new Mock <IVsTextManager2>(MockBehavior.Strict);

            textManager.Setup(m => m.GetUserPreferences2(null, null, It.IsAny <LANGPREFERENCES2[]>(), null)).Returns(VSConstants.E_NOTIMPL);
            var listener = new RazorContentTypeChangeListener(
                textDocumentFactory,
                lspDocumentManager,
                lspEditorFeatureDetector,
                Mock.Of <SVsServiceProvider>(s => s.GetService(It.IsAny <Type>()) == textManager.Object, MockBehavior.Strict),
                Mock.Of <IEditorOptionsFactoryService>(s => s.GetOptions(It.IsAny <ITextBuffer>()) == Mock.Of <IEditorOptions>(MockBehavior.Strict), MockBehavior.Strict),
                fileToContentTypeService);

            return(listener);
        }
Exemple #2
0
        private RazorContentTypeChangeListener CreateListener(
            TrackingLSPDocumentManager lspDocumentManager     = null,
            LSPEditorFeatureDetector lspEditorFeatureDetector = null)
        {
            var textDocumentFactory = Mock.Of <ITextDocumentFactoryService>();

            lspDocumentManager ??= Mock.Of <TrackingLSPDocumentManager>();
            lspEditorFeatureDetector ??= Mock.Of <LSPEditorFeatureDetector>(detector => detector.IsLSPEditorAvailable(It.IsAny <string>(), null) == true);
            var listener = new RazorContentTypeChangeListener(
                textDocumentFactory,
                lspDocumentManager,
                lspEditorFeatureDetector,
                Mock.Of <SVsServiceProvider>(s => s.GetService(It.IsAny <Type>()) == Mock.Of <IVsTextManager2>()),
                Mock.Of <IEditorOptionsFactoryService>(s => s.GetOptions(It.IsAny <ITextBuffer>()) == Mock.Of <IEditorOptions>()));

            return(listener);
        }