public DefaultBoundAttributeParameterDescriptorBuilder(DefaultBoundAttributeDescriptorBuilder parent, string kind) { _parent = parent; _kind = kind; _metadata = new Dictionary <string, string>(); }
public override void BindAttribute(Action <BoundAttributeDescriptorBuilder> configure) { if (configure == null) { throw new ArgumentNullException(nameof(configure)); } EnsureAttributeBuilders(); var builder = new DefaultBoundAttributeDescriptorBuilder(this, Kind); configure(builder); _attributeBuilders.Add(builder); }
public void DisplayName_SetsDescriptorsDisplayName() { // Arrange var expectedDisplayName = "ExpectedDisplayName"; var tagHelperBuilder = new DefaultTagHelperDescriptorBuilder(TagHelperConventions.DefaultKind, "TestTagHelper", "Test"); var builder = new DefaultBoundAttributeDescriptorBuilder(tagHelperBuilder, TagHelperConventions.DefaultKind); builder.DisplayName(expectedDisplayName); // Act var descriptor = builder.Build(); // Assert Assert.Equal(expectedDisplayName, descriptor.DisplayName); }
public void DisplayName_DefaultsToPropertyLookingDisplayName() { // Arrange var tagHelperBuilder = new DefaultTagHelperDescriptorBuilder(TagHelperConventions.DefaultKind, "TestTagHelper", "Test"); tagHelperBuilder.TypeName("TestTagHelper"); var builder = new DefaultBoundAttributeDescriptorBuilder(tagHelperBuilder, TagHelperConventions.DefaultKind); builder .TypeName(typeof(int).FullName) .PropertyName("SomeProperty"); // Act var descriptor = builder.Build(); // Assert Assert.Equal("int TestTagHelper.SomeProperty", descriptor.DisplayName); }
public void GetPropertyName_ReturnsNullIfNoPropertyName() { // Arrange var tagHelperBuilder = new DefaultTagHelperDescriptorBuilder(TagHelperConventions.DefaultKind, "TestTagHelper", "Test"); tagHelperBuilder.TypeName("TestTagHelper"); var builder = new DefaultBoundAttributeDescriptorBuilder(tagHelperBuilder, TagHelperConventions.DefaultKind); builder .Name("test") .TypeName(typeof(int).FullName); var descriptor = builder.Build(); // Act var propertyName = descriptor.GetPropertyName(); // Assert Assert.Null(propertyName); }
public void IsDefaultKind_ReturnsFalse_IfKindIsNotDefault() { // Arrange var tagHelperBuilder = new DefaultTagHelperDescriptorBuilder("other-kind", "TestTagHelper", "Test"); tagHelperBuilder.TypeName("TestTagHelper"); var builder = new DefaultBoundAttributeDescriptorBuilder(tagHelperBuilder, "other-kind"); builder .Name("test") .PropertyName("IntProperty") .TypeName(typeof(int).FullName); var descriptor = builder.Build(); // Act var isDefault = descriptor.IsDefaultKind(); // Assert Assert.False(isDefault); }
public void IsDefaultKind_ReturnsTrue_IfKindIsDefault() { // Arrange var tagHelperBuilder = new DefaultTagHelperDescriptorBuilder(TagHelperConventions.DefaultKind, "TestTagHelper", "Test"); tagHelperBuilder.TypeName("TestTagHelper"); var builder = new DefaultBoundAttributeDescriptorBuilder(tagHelperBuilder, TagHelperConventions.DefaultKind); builder .Name("test") .PropertyName("IntProperty") .TypeName(typeof(int).FullName); var descriptor = builder.Build(); // Act var isDefault = descriptor.IsDefaultKind(); // Assert Assert.True(isDefault); }
public void ExpectsBooleanValue_ReturnsFalse_ForNonBooleanProperty() { // Arrange var tagHelperBuilder = new DefaultTagHelperDescriptorBuilder(TagHelperConventions.DefaultKind, "TestTagHelper", "Test"); tagHelperBuilder.TypeName("TestTagHelper"); var builder = new DefaultBoundAttributeDescriptorBuilder(tagHelperBuilder, TagHelperConventions.DefaultKind); builder .Name("test") .PropertyName("BoundProp") .TypeName(typeof(int).FullName); var descriptor = builder.Build(); // Act var result = descriptor.ExpectsBooleanValue("test"); // Assert Assert.False(result); }
public void ExpectsBooleanValue_ReturnsFalse_BooleanIndexerAndNameMismatch() { // Arrange var tagHelperBuilder = new DefaultTagHelperDescriptorBuilder(TagHelperConventions.DefaultKind, "TestTagHelper", "Test"); tagHelperBuilder.TypeName("TestTagHelper"); var builder = new DefaultBoundAttributeDescriptorBuilder(tagHelperBuilder, TagHelperConventions.DefaultKind); builder .Name("test") .PropertyName("BoundProp") .TypeName("System.Collection.Generic.IDictionary<string, bool>") .AsDictionary("prefix-test-", typeof(bool).FullName); var descriptor = builder.Build(); // Act var result = descriptor.ExpectsBooleanValue("test"); // Assert Assert.False(result); }