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); }
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); }
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); }
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); }
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); }
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); }