示例#1
0
        public RazorLanguageEndpointTest()
        {
            var documentVersionCache = new Mock <DocumentVersionCache>(MockBehavior.Strict);
            int?version = 1337;

            documentVersionCache.Setup(cache => cache.TryGetDocumentVersion(It.IsAny <DocumentSnapshot>(), out version))
            .Returns(true);

            DocumentVersionCache = documentVersionCache.Object;
            MappingService       = new DefaultRazorDocumentMappingService();
        }
        public void TryMapToProjectedDocumentPosition_NotMatchingAnyMapping()
        {
            // Arrange
            var service = new DefaultRazorDocumentMappingService();
            var codeDoc = CreateCodeDocumentWithCSharpProjection(
                "test razor source",
                "test C# source",
                new[] { new SourceMapping(new SourceSpan(2, 100), new SourceSpan(0, 100)) });

            // Act
            var result = service.TryMapToProjectedDocumentPosition(
                codeDoc,
                1,
                out var projectedPosition,
                out var projectedPositionIndex);

            // Assert
            Assert.False(result);
            Assert.Equal(default, projectedPosition);
        public void TryMapFromProjectedDocumentRange_Strict_StartOnlyMaps_ReturnsFalse()
        {
            // Arrange
            var service = new DefaultRazorDocumentMappingService();
            var codeDoc = CreateCodeDocumentWithCSharpProjection(
                "<p>@DateTime.Now</p>",
                "__o = DateTime.Now;",
                new[] { new SourceMapping(new SourceSpan(4, 12), new SourceSpan(6, 12)) });
            var projectedRange = new Range()
            {
                Start = new Position(0, 10),
                End   = new Position(0, 19),
            };

            // Act
            var result = service.TryMapFromProjectedDocumentRange(
                codeDoc,
                projectedRange,
                MappingBehavior.Strict,
                out var originalRange);

            // Assert
            Assert.False(result);
            Assert.Equal(default, originalRange);