From b5dadbceb9b40c4a7242f169e2839134677fc556 Mon Sep 17 00:00:00 2001 From: "Frank A. Krueger" Date: Sat, 3 Mar 2018 00:21:32 -0800 Subject: [PATCH] Use new WriteJson method in Sessions --- Ooui/Message.cs | 7 +++++-- Tests/JsonTests.cs | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Ooui/Message.cs b/Ooui/Message.cs index 485db30..7254abd 100644 --- a/Ooui/Message.cs +++ b/Ooui/Message.cs @@ -40,8 +40,11 @@ namespace Ooui { w.Write ('\"'); for (var i = 0; i < s.Length; i++) { - var c = s[0]; - if (c == '\r') { + var c = s[i]; + if (c == '\"') { + w.Write ("\\\""); + } + else if (c == '\r') { w.Write ("\\r"); } else if (c == '\n') { diff --git a/Tests/JsonTests.cs b/Tests/JsonTests.cs index f27fa35..37c637a 100644 --- a/Tests/JsonTests.cs +++ b/Tests/JsonTests.cs @@ -29,9 +29,11 @@ namespace Tests var b = new Button (); b.Text = "Hello"; b.Click += (sender, e) => { }; + b.Title = "\"Quote\""; Assert.AreEqual ("{\"m\":\"create\",\"id\":\"⦙\",\"k\":\"button\"}", NoId (b.StateMessages[0].ToJson ())); Assert.AreEqual ("{\"m\":\"call\",\"id\":\"⦙\",\"k\":\"insertBefore\",\"v\":[\"⦙\",null]}", NoId (b.StateMessages[1].ToJson ())); Assert.AreEqual ("{\"m\":\"listen\",\"id\":\"⦙\",\"k\":\"click\"}", NoId (b.StateMessages[2].ToJson ())); + Assert.AreEqual ("{\"m\":\"setAttr\",\"id\":\"⦙\",\"k\":\"title\",\"v\":\"\\\"Quote\\\"\"}", NoId (b.StateMessages[3].ToJson ())); } [TestMethod]