public async Task Handle_MapToDocumentRange_CSharp_Unmapped() { // Arrange var documentPath = "C:/path/to/document.cshtml"; var codeDocument = CreateCodeDocumentWithCSharpProjection( "<p>@DateTime.Now</p>", "var __o = DateTime.Now", new[] { new SourceMapping( new SourceSpan(4, 12), new SourceSpan(10, 12)) }); var documentResolver = CreateDocumentResolver(documentPath, codeDocument); var languageEndpoint = new RazorLanguageEndpoint(Dispatcher, documentResolver, DocumentVersionCache, LoggerFactory); var request = new RazorMapToDocumentRangeParams() { Kind = RazorLanguageKind.CSharp, ProjectedRange = new Range(new Position(0, 0), new Position(0, 3)), RazorDocumentUri = new Uri(documentPath), }; // Act var response = await Task.Run(() => languageEndpoint.Handle(request, default)); // Assert Assert.Equal(RazorLanguageEndpoint.UndefinedRange, response.Range); Assert.Equal(1337, response.HostDocumentVersion); }
public async Task Handle_MapToDocumentRange_Razor() { // Arrange var documentPath = "C:/path/to/document.cshtml"; var codeDocument = CreateCodeDocument("<p>@DateTime.Now</p>"); var documentResolver = CreateDocumentResolver(documentPath, codeDocument); var languageEndpoint = new RazorLanguageEndpoint(Dispatcher, documentResolver, DocumentVersionCache, LoggerFactory); var request = new RazorMapToDocumentRangeParams() { Kind = RazorLanguageKind.Razor, ProjectedRange = new Range(new Position(0, 3), new Position(0, 4)), RazorDocumentUri = new Uri(documentPath), }; // Act var response = await Task.Run(() => languageEndpoint.Handle(request, default)); // Assert Assert.Equal(request.ProjectedRange, response.Range); Assert.Equal(1337, response.HostDocumentVersion); }