/// <summary> /// Instantiates a new <see cref="TagHelperContext"/>. /// </summary> /// <param name="allAttributes">Every attribute associated with the current HTML element.</param> /// <param name="items">Collection of items used to communicate with other <see cref="ITagHelper"/>s.</param> /// <param name="uniqueId">The unique identifier for the source element this <see cref="TagHelperContext" /> /// applies to.</param> public TagHelperContext( IEnumerable <IReadOnlyTagHelperAttribute> allAttributes, IDictionary <object, object> items, string uniqueId) { if (allAttributes == null) { throw new ArgumentNullException(nameof(allAttributes)); } if (items == null) { throw new ArgumentNullException(nameof(items)); } if (uniqueId == null) { throw new ArgumentNullException(nameof(uniqueId)); } AllAttributes = new ReadOnlyTagHelperAttributeList <IReadOnlyTagHelperAttribute>( allAttributes.Select(attribute => new TagHelperAttribute(attribute.Name, attribute.Value))); Items = items; UniqueId = uniqueId; }
public void IntIndexer_ThrowsIfInvalidIndex(int index) { // Arrange var attributes = new ReadOnlyTagHelperAttributeList <IReadOnlyTagHelperAttribute>( new[] { new TagHelperAttribute("a", "av"), new TagHelperAttribute("b", "bv") }); // Act & Assert var exception = Assert.Throws <ArgumentOutOfRangeException>("index", () => attributes[index]); }
public void IndexOf_ReturnsExpectedResult( IEnumerable <IReadOnlyTagHelperAttribute> initialAttributes, IReadOnlyTagHelperAttribute attributeToLookup, int expected) { // Arrange var attributes = new ReadOnlyTagHelperAttributeList <IReadOnlyTagHelperAttribute>(initialAttributes); // Act var index = attributes.IndexOf(attributeToLookup); // Assert Assert.Equal(expected, index); }
public void IntIndexer_ReturnsExpectedAttribute( IEnumerable <IReadOnlyTagHelperAttribute> initialAttributes, int indexToLookup, IReadOnlyTagHelperAttribute expectedAttribute) { // Arrange var attributes = new ReadOnlyTagHelperAttributeList <IReadOnlyTagHelperAttribute>(initialAttributes); // Act var attribute = attributes[indexToLookup]; // Assert Assert.Equal(expectedAttribute, attribute, CaseSensitiveTagHelperAttributeComparer.Default); }
public void ContainsName_ReturnsExpectedResult( IEnumerable <IReadOnlyTagHelperAttribute> initialAttributes, string nameToLookup, bool expected) { // Arrange var attributes = new ReadOnlyTagHelperAttributeList <IReadOnlyTagHelperAttribute>(initialAttributes); // Act var contains = attributes.ContainsName(nameToLookup); // Assert Assert.Equal(expected, contains); }
public void TryGetAttributes_ReturnsExpectedValueAndAttribute( IEnumerable <IReadOnlyTagHelperAttribute> initialAttributes, string nameToLookup, IEnumerable <IReadOnlyTagHelperAttribute> expectedAttributes, bool expectedResult) { // Arrange var attributes = new ReadOnlyTagHelperAttributeList <IReadOnlyTagHelperAttribute>(initialAttributes); IEnumerable <IReadOnlyTagHelperAttribute> resolvedAttributes; // Act var result = attributes.TryGetAttributes(nameToLookup, out resolvedAttributes); // Assert Assert.Equal(expectedResult, result); Assert.Equal(expectedAttributes, resolvedAttributes, CaseSensitiveTagHelperAttributeComparer.Default); }
public void Count_ReturnsNumberOfAttributes() { // Arrange var attributes = new ReadOnlyTagHelperAttributeList <IReadOnlyTagHelperAttribute>( new[] { new TagHelperAttribute(), new TagHelperAttribute(), new TagHelperAttribute() }); // Act var count = attributes.Count; // Assert Assert.Equal(3, count); }