2 // JsonValueTest.cs: Tests for JSonValue
4 // Copyright 2011 Xamarin, Inc.
15 namespace MonoTests.System
18 public class JsonValueTests {
19 // Tests that a trailing comma is allowed in dictionary definitions
21 public void LoadWithTrailingComma ()
23 var j = JsonValue.Load (new StringReader ("{ \"a\": \"b\",}"));
24 Assert.AreEqual (1, j.Count, "itemcount");
25 Assert.AreEqual (JsonType.String, j ["a"].JsonType, "type");
26 Assert.AreEqual ("b", (string) j ["a"], "value");
29 // Test that we correctly serialize JsonArray with null elements.
31 public void ToStringOnJsonArrayWithNulls () {
32 var j = JsonValue.Load (new StringReader ("[1,2,3,null]"));
33 Assert.AreEqual (4, j.Count, "itemcount");
34 Assert.AreEqual (JsonType.Array, j.JsonType, "type");
35 var str = j.ToString ();
36 Assert.AreEqual (str, "[1, 2, 3, null]");
40 public void QuoteEscapeBug_20869 ()
42 Assert.AreEqual ((new JsonPrimitive ("\"\"")).ToString (), "\"\\\"\\\"\"");