Skip to content

Commit 20e18e8

Browse files
committed
Add test for nested arrays and objects
1 parent 23dc9a7 commit 20e18e8

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->
2+
{
3+
array = [
4+
1,
5+
2,
6+
3,
7+
{
8+
array2 = [
9+
4,
10+
5,
11+
6,
12+
{
13+
something = "something"
14+
array3 = [
15+
7,
16+
8,
17+
9,
18+
]
19+
test = "abc"
20+
},
21+
10,
22+
]
23+
test2 = "def"
24+
},
25+
"string",
26+
11,
27+
12,
28+
[
29+
13,
30+
14,
31+
15,
32+
[
33+
16,
34+
17,
35+
18,
36+
],
37+
],
38+
19,
39+
]
40+
}

ValveKeyValue/ValveKeyValue.Test/TextKV3/SerializationTestCase.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,27 @@ public void SerializesArray()
5353
Assert.That(text, Is.EqualTo(expected));
5454
}
5555

56+
[Test]
57+
public void SerializesNestedArray()
58+
{
59+
var expected = TestDataHelper.ReadTextResource("TextKV3.array_nested.kv3");
60+
61+
var kv = KVSerializer.Create(KVSerializationFormat.KeyValues3Text);
62+
var data = kv.Deserialize(expected);
63+
64+
string text;
65+
using (var ms = new MemoryStream())
66+
{
67+
kv.Serialize(ms, data);
68+
69+
ms.Seek(0, SeekOrigin.Begin);
70+
using var reader = new StreamReader(ms);
71+
text = reader.ReadToEnd();
72+
}
73+
74+
Assert.That(text, Is.EqualTo(expected));
75+
}
76+
5677
[Test]
5778
public void SerializesFlags()
5879
{

0 commit comments

Comments
 (0)