Example #1
0
        public async Task Handle_MapToDocumentRanges_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, MappingService, Mock.Of <RazorFormattingService>(MockBehavior.Strict), LoggerFactory);
            var request          = new RazorMapToDocumentRangesParams()
            {
                Kind             = RazorLanguageKind.CSharp,
                ProjectedRanges  = new[] { 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(RangeExtensions.UndefinedRange, response.Ranges[0]);
            Assert.Equal(1337, response.HostDocumentVersion);
        }
Example #2
0
        public async Task Handle_MapToDocumentRanges_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, MappingService, Mock.Of <RazorFormattingService>(MockBehavior.Strict), LoggerFactory);
            var request          = new RazorMapToDocumentRangesParams()
            {
                Kind             = RazorLanguageKind.Razor,
                ProjectedRanges  = new[] { 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.ProjectedRanges[0], response.Ranges[0]);
            Assert.Equal(1337, response.HostDocumentVersion);
        }