From ddedb2d7f1b89ccc513f6716d7ae7ea515f819af Mon Sep 17 00:00:00 2001 From: Bond-009 Date: Thu, 10 Dec 2020 21:53:32 +0100 Subject: [PATCH] Merge pull request #4749 from crobibero/guid-standard (cherry picked from commit 933e7fa159adb9486b7c34cda3efbaeaf0c164e4) Signed-off-by: Joshua M. Boniface --- .../Json/Converters/JsonGuidConverter.cs | 3 ++- .../Json/JsonGuidConverterTests.cs | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Common/Json/Converters/JsonGuidConverter.cs b/MediaBrowser.Common/Json/Converters/JsonGuidConverter.cs index ccf214e3ca..bd96001105 100644 --- a/MediaBrowser.Common/Json/Converters/JsonGuidConverter.cs +++ b/MediaBrowser.Common/Json/Converters/JsonGuidConverter.cs @@ -1,4 +1,5 @@ using System; +using System.Globalization; using System.Text.Json; using System.Text.Json.Serialization; @@ -19,7 +20,7 @@ namespace MediaBrowser.Common.Json.Converters /// public override void Write(Utf8JsonWriter writer, Guid value, JsonSerializerOptions options) { - writer.WriteStringValue(value); + writer.WriteStringValue(value.ToString("N", CultureInfo.InvariantCulture)); } } } diff --git a/tests/Jellyfin.Common.Tests/Json/JsonGuidConverterTests.cs b/tests/Jellyfin.Common.Tests/Json/JsonGuidConverterTests.cs index 663cc3c78f..1e1cde9572 100644 --- a/tests/Jellyfin.Common.Tests/Json/JsonGuidConverterTests.cs +++ b/tests/Jellyfin.Common.Tests/Json/JsonGuidConverterTests.cs @@ -1,4 +1,5 @@ using System; +using System.Globalization; using System.Text.Json; using MediaBrowser.Common.Json.Converters; using Xunit; @@ -46,7 +47,23 @@ namespace Jellyfin.Common.Tests.Json [Fact] public void Serialize_EmptyGuid_EmptyGuid() { - Assert.Equal($"\"{Guid.Empty}\"", JsonSerializer.Serialize(Guid.Empty, _options)); + Assert.Equal($"\"{Guid.Empty:N}\"", JsonSerializer.Serialize(Guid.Empty, _options)); + } + + [Fact] + public void Serialize_Valid_NoDash_Success() + { + var guid = new Guid("531797E9-9457-40E0-88BC-B1D6D38752FA"); + var str = JsonSerializer.Serialize(guid, _options); + Assert.Equal($"\"{guid:N}\"", str); + } + + [Fact] + public void Serialize_Nullable_Success() + { + Guid? guid = new Guid("531797E9-9457-40E0-88BC-B1D6D38752FA"); + var str = JsonSerializer.Serialize(guid, _options); + Assert.Equal($"\"{guid:N}\"", str); } } }