-Added ISerializationBinder
-Added SerializationBinder properties to JsonSerializer and JsonSerializerSettings -Changed Binder properties on JsonSerializer and JsonSerializerSettings to obsolete
This commit is contained in:
@@ -1178,8 +1178,23 @@ namespace Newtonsoft.Json.Tests.Serialization
|
||||
JsonSerializer serializer = new JsonSerializer();
|
||||
|
||||
DefaultSerializationBinder customBinder = new DefaultSerializationBinder();
|
||||
#pragma warning disable CS0618 // Type or member is obsolete
|
||||
serializer.Binder = customBinder;
|
||||
Assert.AreEqual(customBinder, serializer.Binder);
|
||||
#pragma warning restore CS0618 // Type or member is obsolete
|
||||
|
||||
Assert.IsInstanceOf(typeof(SerializationBinderAdapter), serializer.SerializationBinder);
|
||||
|
||||
serializer.SerializationBinder = customBinder;
|
||||
Assert.AreEqual(customBinder, serializer.SerializationBinder);
|
||||
|
||||
ExceptionAssert.Throws<InvalidOperationException>(() =>
|
||||
{
|
||||
#pragma warning disable CS0618 // Type or member is obsolete
|
||||
var serializationBinder = serializer.Binder;
|
||||
#pragma warning restore CS0618 // Type or member is obsolete
|
||||
serializationBinder.ToString();
|
||||
}, "Cannot get SerializationBinder because an ISerializationBinder was previously set.");
|
||||
|
||||
serializer.CheckAdditionalContent = true;
|
||||
Assert.AreEqual(true, serializer.CheckAdditionalContent);
|
||||
@@ -1273,8 +1288,10 @@ namespace Newtonsoft.Json.Tests.Serialization
|
||||
JsonSerializerSettings settings = new JsonSerializerSettings();
|
||||
|
||||
DefaultSerializationBinder customBinder = new DefaultSerializationBinder();
|
||||
#pragma warning disable CS0618 // Type or member is obsolete
|
||||
settings.Binder = customBinder;
|
||||
Assert.AreEqual(customBinder, settings.Binder);
|
||||
#pragma warning restore CS0618 // Type or member is obsolete
|
||||
|
||||
settings.CheckAdditionalContent = true;
|
||||
Assert.AreEqual(true, settings.CheckAdditionalContent);
|
||||
@@ -1374,8 +1391,23 @@ namespace Newtonsoft.Json.Tests.Serialization
|
||||
JsonSerializerProxy serializerProxy = new JsonSerializerProxy(new JsonSerializerInternalReader(new JsonSerializer()));
|
||||
|
||||
DefaultSerializationBinder customBinder = new DefaultSerializationBinder();
|
||||
#pragma warning disable CS0618 // Type or member is obsolete
|
||||
serializerProxy.Binder = customBinder;
|
||||
Assert.AreEqual(customBinder, serializerProxy.Binder);
|
||||
#pragma warning restore CS0618 // Type or member is obsolete
|
||||
|
||||
Assert.IsInstanceOf(typeof(SerializationBinderAdapter), serializerProxy.SerializationBinder);
|
||||
|
||||
serializerProxy.SerializationBinder = customBinder;
|
||||
Assert.AreEqual(customBinder, serializerProxy.SerializationBinder);
|
||||
|
||||
ExceptionAssert.Throws<InvalidOperationException>(() =>
|
||||
{
|
||||
#pragma warning disable CS0618 // Type or member is obsolete
|
||||
var serializationBinder = serializerProxy.Binder;
|
||||
#pragma warning restore CS0618 // Type or member is obsolete
|
||||
serializationBinder.ToString();
|
||||
}, "Cannot get SerializationBinder because an ISerializationBinder was previously set.");
|
||||
|
||||
serializerProxy.CheckAdditionalContent = true;
|
||||
Assert.AreEqual(true, serializerProxy.CheckAdditionalContent);
|
||||
|
||||
Reference in New Issue
Block a user