// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.Linq; using Xunit; namespace Microsoft.AspNetCore.Razor.Language.Legacy { public class HtmlAttributeTest : CsHtmlMarkupParserTestBase { public HtmlAttributeTest() { UseBaselineTests = true; } [Fact] public void SymbolBoundAttributes_BeforeEqualWhitespace1() { var attributeName = "[item]"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes_BeforeEqualWhitespace2() { var attributeName = "[(item,"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes_BeforeEqualWhitespace3() { var attributeName = "(click)"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes_BeforeEqualWhitespace4() { var attributeName = "(^click)"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes_BeforeEqualWhitespace5() { var attributeName = "*something"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes_BeforeEqualWhitespace6() { var attributeName = "#local"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes_Whitespace1() { var attributeName = "[item]"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes_Whitespace2() { var attributeName = "[(item,"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes_Whitespace3() { var attributeName = "(click)"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes_Whitespace4() { var attributeName = "(^click)"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes_Whitespace5() { var attributeName = "*something"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes_Whitespace6() { var attributeName = "#local"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes1() { var attributeName = "[item]"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes2() { var attributeName = "[(item,"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes3() { var attributeName = "(click)"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes4() { var attributeName = "(^click)"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes5() { var attributeName = "*something"; ParseBlockTest($""); } [Fact] public void SymbolBoundAttributes6() { var attributeName = "#local"; ParseBlockTest($""); } [Fact] public void SimpleLiteralAttribute() { ParseBlockTest(""); } [Fact] public void SimpleLiteralAttributeWithWhitespaceSurroundingEquals() { ParseBlockTest(""); } [Fact] public void DynamicAttributeWithWhitespaceSurroundingEquals() { ParseBlockTest(""); } [Fact] public void MultiPartLiteralAttribute() { ParseBlockTest(""); } [Fact] public void DoubleQuotedLiteralAttribute() { ParseBlockTest(""); } [Fact] public void NewLinePrecedingAttribute() { ParseBlockTest(""); } [Fact] public void NewLineBetweenAttributes() { ParseBlockTest(""); } [Fact] public void WhitespaceAndNewLinePrecedingAttribute() { ParseBlockTest(""); } [Fact] public void UnquotedLiteralAttribute() { ParseBlockTest(""); } [Fact] public void SimpleExpressionAttribute() { ParseBlockTest(""); } [Fact] public void MultiValueExpressionAttribute() { ParseBlockTest(""); } [Fact] public void VirtualPathAttributesWorkWithConditionalAttributes() { ParseBlockTest(""); } [Fact] public void UnquotedAttributeWithCodeWithSpacesInBlock() { ParseBlockTest(""); } [Fact] public void UnquotedAttributeWithCodeWithSpacesInDocument() { ParseDocumentTest(""); } [Fact] public void ConditionalAttributeCollapserDoesNotRewriteEscapedTransitions() { // Act var results = ParseDocument(""); var attributeCollapser = new ConditionalAttributeCollapser(); var rewritten = attributeCollapser.Rewrite(results.Root); // Assert BaselineTest(rewritten); } [Fact] public void ConditionalAttributesDoNotCreateExtraDataForEntirelyLiteralAttribute() { // Arrange const string code = @"

Title

As the author, you can edit or remove this photo.

Description
The uploader did not provide a description for this photo.
Uploaded by
user.DisplayName
Upload date
photo.UploadDate
Gallery
gallery.Name
Tags
  • This photo has no tags.
edit tags

Download full photo ((photo.FileSize / 1024) KB)

Nobody has commented on this photo

  1. comment.DisplayName commented at comment.CommentDate:

    comment.CommentText

Post new comment

"; // Act var results = ParseDocument(code); var attributeCollapser = new ConditionalAttributeCollapser(); var rewritten = attributeCollapser.Rewrite(results.Root); // Assert Assert.Equal(rewritten.Children.Count(), results.Root.Children.Count()); } [Fact] public void ConditionalAttributesAreEnabledForDataAttributesWithExperimentalFlag() { ParseBlockTest( RazorLanguageVersion.Experimental, ""); } [Fact] public void ConditionalAttributesAreDisabledForDataAttributesInBlock() { ParseBlockTest(""); } [Fact] public void ConditionalAttributesWithWeirdSpacingAreDisabledForDataAttributesInBlock() { ParseBlockTest(""); } [Fact] public void ConditionalAttributesAreDisabledForDataAttributesInDocument() { ParseDocumentTest(""); } [Fact] public void ConditionalAttributesWithWeirdSpacingAreDisabledForDataAttributesInDocument() { ParseDocumentTest(""); } } }