Exemplo n.º 1
0
        public async Task LiveErrorZeroLengthSpan()
        {
            var workspaceXml =
                @"<Workspace>
    <Project Language=""C#"" CommonReferences=""true"">
        <Document FilePath = ""Test.cs"" >
            class Test
{
}
        </Document>
    </Project>
</Workspace>";

            using var workspace = TestWorkspace.Create(workspaceXml);
            var document = workspace.Documents.First();

            var updateArgs = DiagnosticsUpdatedArgs.DiagnosticsCreated(
                new LiveId(), workspace, workspace.CurrentSolution, document.Project.Id, document.Id,
                ImmutableArray.Create(
                    TestDiagnosticTagProducer <DiagnosticsSquiggleTaggerProvider> .CreateDiagnosticData(document, new TextSpan(0, 0)),
                    TestDiagnosticTagProducer <DiagnosticsSquiggleTaggerProvider> .CreateDiagnosticData(document, new TextSpan(0, 1))));

            var spans = await TestDiagnosticTagProducer <DiagnosticsSquiggleTaggerProvider> .GetErrorsFromUpdateSource(workspace, updateArgs);

            Assert.Equal(2, spans.Count());
            var first  = spans.First();
            var second = spans.Last();

            Assert.Equal(1, first.Span.Span.Length);
            Assert.Equal(1, second.Span.Span.Length);
        }