Example #1
0
        public void IsTagHelperSpan_NullSyntaxTree_ReturnsFalse()
        {
            // Arrange
            var location = new SourceSpan(0, 4);
            var service  = new DefaultRazorSyntaxFactsService();

            // Act
            var result = service.IsTagHelperSpan(null, location);

            // Assert
            Assert.False(result);
        }
Example #2
0
        public void IsTagHelperSpan_ReturnsFalse()
        {
            // Arrange
            var syntaxTree = GetSyntaxTree(
                @"<div>
    <taghelper></taghelper>
</div>");
            var location = new SourceSpan(0, 4);
            var service  = new DefaultRazorSyntaxFactsService();

            // Act
            var result = service.IsTagHelperSpan(syntaxTree, location);

            // Assert
            Assert.False(result);
        }
Example #3
0
        public void IsTagHelperSpan_ReturnsTrue()
        {
            // Arrange
            var syntaxTree = GetSyntaxTree(
                @"<div>
    <taghelper />
</div>");
            var location = new SourceSpan(9 + Environment.NewLine.Length, 13);
            var service  = new DefaultRazorSyntaxFactsService();

            // Act
            var result = service.IsTagHelperSpan(syntaxTree, location);

            // Assert
            Assert.True(result);
        }
        public void IsTagHelperSpan_ReturnsTrue()
        {
            var str =
                @"<div>
    <taghelper />
</div>";

            // Arrange
            var syntaxTree = GetSyntaxTree(str);

            var location = new SourceSpan(str.IndexOf("tag", StringComparison.Ordinal) - 1, 13);
            var service  = new DefaultRazorSyntaxFactsService();

            // Act
            var result = service.IsTagHelperSpan(syntaxTree, location);

            // Assert
            Assert.True(result);
        }
Example #5
0
        public void GetClassifiedSpans_ReturnsAttributeSpansInDocumentOrder()
        {
            // Arrange
            var expectedSpans = new[]
            {
                new ClassifiedSpan(new SourceSpan("test.cshtml", 14, 0, 14, 1), new SourceSpan("test.cshtml", 0, 0, 0, 49), SpanKind.Code, BlockKind.Tag, AcceptedCharacters.AnyExceptNewline),
                new ClassifiedSpan(new SourceSpan("test.cshtml", 23, 0, 23, 2), new SourceSpan("test.cshtml", 0, 0, 0, 49), SpanKind.Markup, BlockKind.Tag, AcceptedCharacters.Any),
                new ClassifiedSpan(new SourceSpan("test.cshtml", 32, 0, 32, 4), new SourceSpan("test.cshtml", 0, 0, 0, 49), SpanKind.Code, BlockKind.Tag, AcceptedCharacters.AnyExceptNewline),
            };
            var codeDocument = GetCodeDocument(
                @"<taghelper id=1 class=""th"" show=true></taghelper>");
            var syntaxTree = codeDocument.GetSyntaxTree();
            var service    = new DefaultRazorSyntaxFactsService();

            // Act
            var spans = service.GetClassifiedSpans(syntaxTree);

            // Assert
            Assert.Equal(expectedSpans, spans);
        }
Example #6
0
        public void GetTagHelperSpans_ReturnsExpectedSpans()
        {
            // Arrange
            var codeDocument = GetCodeDocument(
                @"<div>
    <taghelper></taghelper>
</div>");
            var tagHelperContext   = codeDocument.GetTagHelperContext();
            var expectedSourceSpan = new SourceSpan("test.cshtml", 11, 1, 4, 23);
            var syntaxTree         = codeDocument.GetSyntaxTree();
            var service            = new DefaultRazorSyntaxFactsService();

            // Act
            var spans = service.GetTagHelperSpans(syntaxTree);

            // Assert
            var actualSpan = Assert.Single(spans);

            Assert.Equal(expectedSourceSpan, actualSpan.Span);
            Assert.Equal(tagHelperContext.TagHelpers, actualSpan.TagHelpers);
            Assert.Equal(tagHelperContext.Prefix, actualSpan.Binding.TagHelperPrefix);
            Assert.Equal("div", actualSpan.Binding.ParentTagName);
        }
Example #7
0
        public void GetClassifiedSpans_ReturnsExpectedSpans()
        {
            // Arrange
            var expectedSpans = new[]
            {
                new ClassifiedSpan(new SourceSpan("test.cshtml", 0, 0, 0, 5), new SourceSpan("test.cshtml", 0, 0, 0, 5), SpanKind.Markup, BlockKind.Tag, AcceptedCharacters.Any),
                new ClassifiedSpan(new SourceSpan("test.cshtml", 5, 0, 5, 6), new SourceSpan("test.cshtml", 0, 0, 0, 42), SpanKind.Markup, BlockKind.Markup, AcceptedCharacters.Any),
                new ClassifiedSpan(new SourceSpan("test.cshtml", 34, 1, 27, 2), new SourceSpan("test.cshtml", 0, 0, 0, 42), SpanKind.Markup, BlockKind.Markup, AcceptedCharacters.Any),
                new ClassifiedSpan(new SourceSpan("test.cshtml", 36, 2, 0, 6), new SourceSpan("test.cshtml", 36, 2, 0, 6), SpanKind.Markup, BlockKind.Tag, AcceptedCharacters.Any),
            };
            var codeDocument = GetCodeDocument(
                @"<div>
    <taghelper></taghelper>
</div>");
            var syntaxTree = codeDocument.GetSyntaxTree();
            var service    = new DefaultRazorSyntaxFactsService();

            // Act
            var spans = service.GetClassifiedSpans(syntaxTree);

            // Assert
            Assert.Equal(expectedSpans, spans);
        }