Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit a0bcffe

Browse files
committed
Merge more-serialization-magic into fixes/metrics-rename
2 parents 6ba2185 + c25f6e9 commit a0bcffe

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/GitHub.Api/Helpers/SimpleJson.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1252,9 +1252,9 @@ class PocoJsonSerializerStrategy : IJsonSerializerStrategy
12521252

12531253
private static readonly string[] Iso8601Format = new string[]
12541254
{
1255+
@"yyyy-MM-dd\THH\:mm\:sszzz",
12551256
@"yyyy-MM-dd\THH\:mm\:ss.fffffffzzz",
12561257
@"yyyy-MM-dd\THH\:mm\:ss.fffzzz",
1257-
@"yyyy-MM-dd\THH\:mm\:sszzz",
12581258
@"yyyy-MM-dd\THH:mm:ss.fffffffzzz",
12591259
@"yyyy-MM-dd\THH:mm:ss.fffzzz",
12601260
@"yyyy-MM-dd\THH:mm:sszzz",
@@ -1274,7 +1274,7 @@ protected virtual string MapClrMemberNameToJsonFieldName(string clrPropertyName)
12741274

12751275
internal virtual ReflectionUtils.ConstructorDelegate ContructorDelegateFactory(Type key)
12761276
{
1277-
return ReflectionUtils.GetContructor(key, key.IsArray ? ArrayConstructorParameterTypes : EmptyTypes);
1277+
return ReflectionUtils.GetContructor(key, (key.IsArray || ReflectionUtils.IsAssignableFrom(typeof(IList), key))? ArrayConstructorParameterTypes : EmptyTypes);
12781278
}
12791279

12801280
internal virtual IDictionary<string, ReflectionUtils.GetDelegate> GetterValueFactory(Type type)

src/tests/UnitTests/Primitives/SerializationTests.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,20 @@ public void DateTimeSerializationRoundTrip()
3030
Assert.AreEqual(dt1, dt2);
3131
Assert.AreEqual(dt2, dt3);
3232
}
33+
34+
class TestData
35+
{
36+
public List<string> Things { get; set; } = new List<string>();
37+
}
38+
39+
[Test]
40+
public void ListDeserializesCorrectly()
41+
{
42+
var data = new TestData();
43+
data.Things.Add("something");
44+
var json = data.ToJson();
45+
var ret = json.FromJson<TestData>();
46+
CollectionAssert.AreEquivalent(data.Things, ret.Things);
47+
}
3348
}
3449
}

0 commit comments

Comments
 (0)