Provides an abstraction for creating the JavaScriptEncoder used in SystemTextConfigurationEditorJsonSerializer (#19849)
* Provides an abstraction for creating the JavaScriptEncoder used in SystemTextConfigurationEditorJsonSerializer. * Generalised JSON serialization encoder factory to work for all System.Tex.Json serializers. Added the serializer's name as a parameter to allow for different encodings per serializer if required. * Fixed tests by removing use of obsolete constructors. * Removed name parameter and used a generic type instead.
This commit is contained in:
@@ -83,7 +83,7 @@ public class JsonBlockValueConverterTests
|
||||
]
|
||||
};
|
||||
|
||||
var serializer = new SystemTextJsonSerializer();
|
||||
var serializer = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
var serialized = serializer.Serialize(blockGridValue);
|
||||
var deserialized = serializer.Deserialize<BlockGridValue>(serialized);
|
||||
|
||||
@@ -173,7 +173,7 @@ public class JsonBlockValueConverterTests
|
||||
public void Can_Serialize_BlockGrid_Without_Blocks()
|
||||
{
|
||||
var blockGridValue = new BlockGridValue();
|
||||
var serializer = new SystemTextJsonSerializer();
|
||||
var serializer = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
var serialized = serializer.Serialize(blockGridValue);
|
||||
var deserialized = serializer.Deserialize<BlockGridValue>(serialized);
|
||||
|
||||
@@ -217,7 +217,7 @@ public class JsonBlockValueConverterTests
|
||||
]
|
||||
};
|
||||
|
||||
var serializer = new SystemTextJsonSerializer();
|
||||
var serializer = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
var serialized = serializer.Serialize(blockListValue);
|
||||
var deserialized = serializer.Deserialize<BlockListValue>(serialized);
|
||||
|
||||
@@ -265,7 +265,7 @@ public class JsonBlockValueConverterTests
|
||||
public void Can_Serialize_BlockList_Without_Blocks()
|
||||
{
|
||||
var blockListValue = new BlockListValue();
|
||||
var serializer = new SystemTextJsonSerializer();
|
||||
var serializer = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
var serialized = serializer.Serialize(blockListValue);
|
||||
var deserialized = serializer.Deserialize<BlockListValue>(serialized);
|
||||
|
||||
@@ -315,7 +315,7 @@ public class JsonBlockValueConverterTests
|
||||
Markup = "<p>This is some markup</p>"
|
||||
};
|
||||
|
||||
var serializer = new SystemTextJsonSerializer();
|
||||
var serializer = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
var serialized = serializer.Serialize(richTextEditorValue);
|
||||
var deserialized = serializer.Deserialize<RichTextEditorValue>(serialized);
|
||||
|
||||
@@ -371,7 +371,7 @@ public class JsonBlockValueConverterTests
|
||||
Markup = "<p>This is some markup</p>"
|
||||
};
|
||||
|
||||
var serializer = new SystemTextJsonSerializer();
|
||||
var serializer = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
var serialized = serializer.Serialize(richTextEditorValue);
|
||||
var deserialized = serializer.Deserialize<RichTextEditorValue>(serialized);
|
||||
|
||||
@@ -425,7 +425,7 @@ public class JsonBlockValueConverterTests
|
||||
]
|
||||
};
|
||||
|
||||
var serializer = new SystemTextJsonSerializer();
|
||||
var serializer = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
var serialized = serializer.Serialize(blockListValue);
|
||||
var deserialized = serializer.Deserialize<BlockListValue>(serialized);
|
||||
|
||||
@@ -467,7 +467,7 @@ public class JsonBlockValueConverterTests
|
||||
}
|
||||
""";
|
||||
|
||||
var serializer = new SystemTextJsonSerializer();
|
||||
var serializer = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
Assert.DoesNotThrow(() => serializer.Deserialize<BlockListValue>(json));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System.Text.Json.Nodes;
|
||||
using System.Text.Json.Nodes;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Infrastructure.Serialization;
|
||||
|
||||
@@ -11,7 +11,7 @@ public class SystemTextJsonSerializerTests
|
||||
public void TryDeserialize_Can_Handle_JsonObject()
|
||||
{
|
||||
var json = JsonNode.Parse("{\"myProperty\":\"value\"}");
|
||||
var subject = new SystemTextJsonSerializer();
|
||||
var subject = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
Assert.IsTrue(subject.TryDeserialize(json!, out MyItem myItem));
|
||||
Assert.AreEqual("value", myItem.MyProperty);
|
||||
}
|
||||
@@ -20,7 +20,7 @@ public class SystemTextJsonSerializerTests
|
||||
public void TryDeserialize_Can_Handle_JsonArray()
|
||||
{
|
||||
var json = JsonNode.Parse("[{\"myProperty\":\"value1\"},{\"myProperty\":\"value2\"}]");
|
||||
var subject = new SystemTextJsonSerializer();
|
||||
var subject = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
Assert.IsTrue(subject.TryDeserialize(json!, out MyItem[] myItems));
|
||||
Assert.AreEqual(2, myItems.Length);
|
||||
Assert.Multiple(() =>
|
||||
@@ -34,7 +34,7 @@ public class SystemTextJsonSerializerTests
|
||||
public void TryDeserialize_Can_Handle_JsonString()
|
||||
{
|
||||
var json = "{\"myProperty\":\"value\"}";
|
||||
var subject = new SystemTextJsonSerializer();
|
||||
var subject = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
Assert.IsTrue(subject.TryDeserialize(json, out MyItem myItem));
|
||||
Assert.AreEqual("value", myItem.MyProperty);
|
||||
}
|
||||
@@ -42,7 +42,7 @@ public class SystemTextJsonSerializerTests
|
||||
[Test]
|
||||
public void TryDeserialize_Cannot_Handle_RandomString()
|
||||
{
|
||||
var subject = new SystemTextJsonSerializer();
|
||||
var subject = new SystemTextJsonSerializer(new DefaultJsonSerializerEncoderFactory());
|
||||
Assert.IsFalse(subject.TryDeserialize<MyItem>("something something", out _));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user