public void TestPreviewDiagnosticTagger()
        {
            using (var workspace = CSharpWorkspaceFactory.CreateWorkspaceFromLines("class { }"))
                using (var previewWorkspace = new PreviewWorkspace(workspace.CurrentSolution))
                {
                    //// preview workspace and owner of the solution now share solution and its underlying text buffer
                    var hostDocument = workspace.Projects.First().Documents.First();

                    //// enable preview diagnostics
                    previewWorkspace.EnableDiagnostic();

                    var spans = SquiggleUtilities.GetErrorSpans(workspace);
                    Assert.Equal(1, spans.Count);
                }
        }
Beispiel #2
0
        public async Task TestPreviewDiagnosticTagger()
        {
            using (var workspace = TestWorkspace.CreateCSharp("class { }", exportProvider: EditorServicesUtil.ExportProvider))
                using (var previewWorkspace = new PreviewWorkspace(workspace.CurrentSolution))
                {
                    //// preview workspace and owner of the solution now share solution and its underlying text buffer
                    var hostDocument = workspace.Projects.First().Documents.First();

                    //// enable preview diagnostics
                    previewWorkspace.EnableDiagnostic();

                    var diagnosticsAndErrorsSpans = await SquiggleUtilities.GetDiagnosticsAndErrorSpansAsync <DiagnosticsSquiggleTaggerProvider>(workspace);

                    const string AnalzyerCount = "Analyzer Count: ";
                    Assert.Equal(AnalzyerCount + 1, AnalzyerCount + diagnosticsAndErrorsSpans.Item1.Length);

                    const string SquigglesCount = "Squiggles Count: ";
                    Assert.Equal(SquigglesCount + 1, SquigglesCount + diagnosticsAndErrorsSpans.Item2.Length);
                }
        }
        public async Task TestPreviewDiagnosticTagger()
        {
            using var workspace = TestWorkspace.CreateCSharp("class { }", composition: EditorTestCompositions.EditorFeatures);
            using var previewWorkspace = new PreviewWorkspace(workspace.CurrentSolution);

            // preview workspace and owner of the solution now share solution and its underlying text buffer
            var hostDocument = workspace.Projects.First().Documents.First();

            previewWorkspace.TryApplyChanges(previewWorkspace.CurrentSolution.WithAnalyzerReferences(new[] { DiagnosticExtensions.GetCompilerDiagnosticAnalyzerReference(LanguageNames.CSharp) }));

            // enable preview diagnostics
            previewWorkspace.EnableDiagnostic();

            var diagnosticsAndErrorsSpans = await SquiggleUtilities.GetDiagnosticsAndErrorSpansAsync<DiagnosticsSquiggleTaggerProvider>(workspace);
            const string AnalyzerCount = "Analyzer Count: ";
            Assert.Equal(AnalyzerCount + 1, AnalyzerCount + diagnosticsAndErrorsSpans.Item1.Length);

            const string SquigglesCount = "Squiggles Count: ";
            Assert.Equal(SquigglesCount + 1, SquigglesCount + diagnosticsAndErrorsSpans.Item2.Length);
        }