Skip to content

Commit d622f05

Browse files
committed
Respect empty string enummember values
Fixes #983
1 parent 27c995c commit d622f05

4 files changed

Lines changed: 6 additions & 6 deletions

File tree

YamlDotNet.Analyzers.StaticGenerator/SerializableSyntaxReceiver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ private void HandleEnum(ITypeSymbol type)
210210
if (enumMember != null)
211211
{
212212
var argument = enumMember.NamedArguments.FirstOrDefault(x => x.Key == "Value");
213-
if (!string.IsNullOrWhiteSpace(argument.Value.Value as string))
213+
if ((argument.Value.Value as string) != null)
214214
{
215215
memberValue = (string)argument.Value.Value!;
216216
}

YamlDotNet.Test/Analyzers/StaticGenerator/ObjectTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,8 @@ public void EnumSerializationUsesEnumMemberAttribute()
231231
public void EnumSerializationUsesEnumMemberAttributeWithEmptyValue()
232232
{
233233
var serializer = new StaticSerializerBuilder(new StaticContext()).Build();
234-
var actual = serializer.Serialize(EnumMemberedEnum.EmptyValue);
235-
Assert.Equal("EmptyValue", actual.TrimNewLines());
234+
var actual = serializer.Serialize(new { Test = EnumMemberedEnum.EmptyValue });
235+
Assert.Equal("Test: ''", actual.TrimNewLines());
236236
}
237237

238238
[Fact]

YamlDotNet.Test/Serialization/SerializationTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1502,8 +1502,8 @@ public void EnumSerializationUsesEnumMemberAttribute()
15021502
public void EnumSerializationUsesEnumMemberAttributeWithEmptyValue()
15031503
{
15041504
var serializer = new SerializerBuilder().Build();
1505-
var actual = serializer.Serialize(EnumMemberedEnum.EmptyValue);
1506-
Assert.Equal("EmptyValue", actual.TrimNewLines());
1505+
var actual = serializer.Serialize(new { Test = EnumMemberedEnum.EmptyValue });
1506+
Assert.Equal("Test: ''", actual.TrimNewLines());
15071507
}
15081508

15091509
[Fact]

YamlDotNet/Serialization/TypeInspectors/ReflectionTypeInspector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public override string GetEnumValue(object enumValue)
5959
if (enumMembers.Length > 0)
6060
{
6161
var attribute = enumMembers[0].GetCustomAttribute<EnumMemberAttribute>();
62-
if (!string.IsNullOrWhiteSpace(attribute?.Value))
62+
if (attribute?.Value != null)
6363
{
6464
result = attribute.Value;
6565
}

0 commit comments

Comments
 (0)