Example #1
0
    public override void Attribute(Action <RequiredAttributeDescriptorBuilder> configure)
    {
        if (configure == null)
        {
            throw new ArgumentNullException(nameof(configure));
        }

        EnsureRequiredAttributeBuilders();

        var builder = new DefaultRequiredAttributeDescriptorBuilder(this);

        configure(builder);
        _requiredAttributeBuilders.Add(builder);
    }
    public void Build_DisplayNameIsNameWithDots_NameComparisonPrefixMatch()
    {
        // Arrange
        var tagHelperBuilder       = new DefaultTagHelperDescriptorBuilder(TagHelperConventions.DefaultKind, "TestTagHelper", "Test");
        var tagMatchingRuleBuilder = new DefaultTagMatchingRuleDescriptorBuilder(tagHelperBuilder);
        var builder = new DefaultRequiredAttributeDescriptorBuilder(tagMatchingRuleBuilder);

        builder
        .Name("asp-route-")
        .NameComparisonMode(RequiredAttributeDescriptor.NameComparisonMode.PrefixMatch);

        // Act
        var descriptor = builder.Build();

        // Assert
        Assert.Equal("asp-route-...", descriptor.DisplayName);
    }
    public void Matches_ReturnsExpectedResult(
        Action <RequiredAttributeDescriptorBuilder> configure,
        string attributeName,
        string attributeValue,
        bool expectedResult)
    {
        // Arrange
        var tagHelperBuilder       = new DefaultTagHelperDescriptorBuilder(TagHelperConventions.DefaultKind, "TestTagHelper", "Test");
        var tagMatchingRuleBuilder = new DefaultTagMatchingRuleDescriptorBuilder(tagHelperBuilder);
        var builder = new DefaultRequiredAttributeDescriptorBuilder(tagMatchingRuleBuilder);

        configure(builder);

        var requiredAttibute = builder.Build();

        // Act
        var result = TagHelperMatchingConventions.SatisfiesRequiredAttribute(attributeName, attributeValue, requiredAttibute);

        // Assert
        Assert.Equal(expectedResult, result);
    }