Skip to content

Commit cdf2433

Browse files
committed
Fix typeconverter culture handling
I guess tests are actually useful?
1 parent 58606a2 commit cdf2433

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/BizHawk.Emulation.Common/Json/TypeConverterJsonAdapter.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.ComponentModel;
3+
using System.Globalization;
34
using System.Linq;
45
using System.Reflection;
56
using System.Text.Json;
@@ -18,14 +19,14 @@ public class TypeConverterJsonAdapter<T> : JsonConverter<T>
1819
public override T Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
1920
{
2021
var converter = TypeDescriptor.GetConverter(typeToConvert);
21-
return (T)converter.ConvertFromString(reader.GetString())!;
22+
return (T)converter.ConvertFromString(null!, CultureInfo.InvariantCulture, reader.GetString())!;
2223
}
2324

2425
/// <inheritdoc/>
2526
public override void Write(Utf8JsonWriter writer, T objectToWrite, JsonSerializerOptions options)
2627
{
2728
var converter = TypeDescriptor.GetConverter(objectToWrite!);
28-
writer.WriteStringValue(converter.ConvertToString(objectToWrite!));
29+
writer.WriteStringValue(converter.ConvertToString(null!, CultureInfo.InvariantCulture, objectToWrite!));
2930
}
3031

3132
/// <inheritdoc/>

src/BizHawk.Tests/Client.Common/config/SerializationStabilityTests.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Drawing;
4+
using System.Globalization;
45
using System.Linq;
56
using System.Reflection;
67
using System.Text.Json;
@@ -126,7 +127,7 @@ public void TestSerializationTypeConverter()
126127
{
127128
var color = Color.FromArgb(200, 255, 13, 42);
128129
string serialized = JsonSerializer.Serialize(color, ConfigService.SerializerOptions);
129-
Assert.AreEqual("\"200; 255; 13; 42\"", serialized);
130+
Assert.AreEqual("\"200, 255, 13, 42\"", serialized);
130131

131132
var newColor = JsonSerializer.Deserialize<Color>(serialized, ConfigService.SerializerOptions);
132133
Assert.AreEqual(color, newColor);

0 commit comments

Comments
 (0)