Skip to content

Commit

Permalink
Respect empty string enummember values
Browse files Browse the repository at this point in the history
Fixes #983
  • Loading branch information
EdwardCooke committed Sep 26, 2024
1 parent 27c995c commit d622f05
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ private void HandleEnum(ITypeSymbol type)
if (enumMember != null)
{
var argument = enumMember.NamedArguments.FirstOrDefault(x => x.Key == "Value");
if (!string.IsNullOrWhiteSpace(argument.Value.Value as string))
if ((argument.Value.Value as string) != null)
{
memberValue = (string)argument.Value.Value!;
}
Expand Down
4 changes: 2 additions & 2 deletions YamlDotNet.Test/Analyzers/StaticGenerator/ObjectTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -231,8 +231,8 @@ public void EnumSerializationUsesEnumMemberAttribute()
public void EnumSerializationUsesEnumMemberAttributeWithEmptyValue()
{
var serializer = new StaticSerializerBuilder(new StaticContext()).Build();
var actual = serializer.Serialize(EnumMemberedEnum.EmptyValue);
Assert.Equal("EmptyValue", actual.TrimNewLines());
var actual = serializer.Serialize(new { Test = EnumMemberedEnum.EmptyValue });
Assert.Equal("Test: ''", actual.TrimNewLines());
}

[Fact]
Expand Down
4 changes: 2 additions & 2 deletions YamlDotNet.Test/Serialization/SerializationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1502,8 +1502,8 @@ public void EnumSerializationUsesEnumMemberAttribute()
public void EnumSerializationUsesEnumMemberAttributeWithEmptyValue()
{
var serializer = new SerializerBuilder().Build();
var actual = serializer.Serialize(EnumMemberedEnum.EmptyValue);
Assert.Equal("EmptyValue", actual.TrimNewLines());
var actual = serializer.Serialize(new { Test = EnumMemberedEnum.EmptyValue });
Assert.Equal("Test: ''", actual.TrimNewLines());
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public override string GetEnumValue(object enumValue)
if (enumMembers.Length > 0)
{
var attribute = enumMembers[0].GetCustomAttribute<EnumMemberAttribute>();
if (!string.IsNullOrWhiteSpace(attribute?.Value))
if (attribute?.Value != null)
{
result = attribute.Value;
}
Expand Down

0 comments on commit d622f05

Please sign in to comment.