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

Commit fa49d78

Browse files
committed
Add tests to check for escaping
1 parent 7bb0d68 commit fa49d78

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

tests/ServiceStack.Text.Tests/JsonObjectTests.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,5 +349,31 @@ public void Can_deserialize_Inherited_JSON_Object()
349349

350350
public class InheritedJsonObject : JsonObject { }
351351

352+
[Test]
353+
public void Does_escape_string_values()
354+
{
355+
var json = JsonObject.Parse("{\"text\":\"line\nbreak\"}");
356+
Assert.That(json["text"], Is.EqualTo("line\nbreak"));
357+
358+
json = JsonObject.Parse("{\"a\":{\"text\":\"line\nbreak\"}}");
359+
var a = json.Object("a");
360+
Assert.That(a["text"], Is.EqualTo("line\nbreak"));
361+
}
362+
363+
public class JsonObjectWrapper
364+
{
365+
public JsonObject Prop { get; set; }
366+
}
367+
368+
[Test]
369+
public void Does_escape_strings_in_JsonObject_DTO()
370+
{
371+
var dto = "{\"Prop\":{\"text\":\"line\nbreak\"}}".FromJson<JsonObjectWrapper>();
372+
Assert.That(dto.Prop["text"], Is.EqualTo("line\nbreak"));
373+
374+
dto = "{\"Prop\":{\"a\":{\"text\":\"line\nbreak\"}}}".FromJson<JsonObjectWrapper>();
375+
var a = dto.Prop.Object("a");
376+
Assert.That(a["text"], Is.EqualTo("line\nbreak"));
377+
}
352378
}
353379
}

0 commit comments

Comments
 (0)