aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrobibero <cody@robibe.ro>2020-12-07 14:58:27 -0700
committercrobibero <cody@robibe.ro>2020-12-07 14:58:27 -0700
commit6e9837844738de7bc55dae9994538535e62ed888 (patch)
treee085338816b2d33625e080164743444ce0fc38a0
parent66a1880a580b25db7add41ed3947166b10415f37 (diff)
Simplify converter
-rw-r--r--MediaBrowser.Common/Json/Converters/JsonBoolNumberConverter.cs5
-rw-r--r--MediaBrowser.Common/Json/JsonDefaults.cs1
-rw-r--r--tests/Jellyfin.Common.Tests/Json/JsonBoolNumberTests.cs8
-rw-r--r--tests/Jellyfin.Common.Tests/Models/BoolTypeModel.cs17
4 files changed, 6 insertions, 25 deletions
diff --git a/MediaBrowser.Common/Json/Converters/JsonBoolNumberConverter.cs b/MediaBrowser.Common/Json/Converters/JsonBoolNumberConverter.cs
index f73ca344c..cb2047049 100644
--- a/MediaBrowser.Common/Json/Converters/JsonBoolNumberConverter.cs
+++ b/MediaBrowser.Common/Json/Converters/JsonBoolNumberConverter.cs
@@ -8,9 +8,6 @@ namespace MediaBrowser.Common.Json.Converters
/// Converts a number to a boolean.
/// This is needed for HDHomerun.
/// </summary>
- /// <remarks>
- /// Adding this to the JsonConverter list causes recursion.
- /// </remarks>
public class JsonBoolNumberConverter : JsonConverter<bool>
{
/// <inheritdoc />
@@ -21,7 +18,7 @@ namespace MediaBrowser.Common.Json.Converters
return Convert.ToBoolean(reader.GetInt32());
}
- return JsonSerializer.Deserialize<bool>(ref reader, options);
+ return reader.GetBoolean();
}
/// <inheritdoc />
diff --git a/MediaBrowser.Common/Json/JsonDefaults.cs b/MediaBrowser.Common/Json/JsonDefaults.cs
index c5050a21d..b76edd2bc 100644
--- a/MediaBrowser.Common/Json/JsonDefaults.cs
+++ b/MediaBrowser.Common/Json/JsonDefaults.cs
@@ -43,6 +43,7 @@ namespace MediaBrowser.Common.Json
options.Converters.Add(new JsonVersionConverter());
options.Converters.Add(new JsonStringEnumConverter());
options.Converters.Add(new JsonNullableStructConverterFactory());
+ options.Converters.Add(new JsonBoolNumberConverter());
return options;
}
diff --git a/tests/Jellyfin.Common.Tests/Json/JsonBoolNumberTests.cs b/tests/Jellyfin.Common.Tests/Json/JsonBoolNumberTests.cs
index 1cae5b849..3779e2d0a 100644
--- a/tests/Jellyfin.Common.Tests/Json/JsonBoolNumberTests.cs
+++ b/tests/Jellyfin.Common.Tests/Json/JsonBoolNumberTests.cs
@@ -1,5 +1,5 @@
using System.Text.Json;
-using Jellyfin.Common.Tests.Models;
+using MediaBrowser.Common.Json.Converters;
using Xunit;
namespace Jellyfin.Common.Tests.Json
@@ -14,10 +14,10 @@ namespace Jellyfin.Common.Tests.Json
[InlineData("false", false)]
public static void Deserialize_Number_Valid_Success(string input, bool? output)
{
- var inputJson = $"{{ \"Value\": {input} }}";
var options = new JsonSerializerOptions();
- var value = JsonSerializer.Deserialize<BoolTypeModel>(inputJson, options);
- Assert.Equal(value?.Value, output);
+ options.Converters.Add(new JsonBoolNumberConverter());
+ var value = JsonSerializer.Deserialize<bool>(input, options);
+ Assert.Equal(value, output);
}
}
} \ No newline at end of file
diff --git a/tests/Jellyfin.Common.Tests/Models/BoolTypeModel.cs b/tests/Jellyfin.Common.Tests/Models/BoolTypeModel.cs
deleted file mode 100644
index feb952efc..000000000
--- a/tests/Jellyfin.Common.Tests/Models/BoolTypeModel.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System.Text.Json.Serialization;
-using MediaBrowser.Common.Json.Converters;
-
-namespace Jellyfin.Common.Tests.Models
-{
- /// <summary>
- /// The bool type model.
- /// </summary>
- public class BoolTypeModel
- {
- /// <summary>
- /// Gets or sets a value indicating whether the value is true or false.
- /// </summary>
- [JsonConverter(typeof(JsonBoolNumberConverter))]
- public bool Value { get; set; }
- }
-} \ No newline at end of file