-Fixed not quoting strings when QuoteName is false

This commit is contained in:
James Newton-King
2013-10-17 09:35:26 +13:00
parent 402e22a165
commit ed50e034a0
2 changed files with 23 additions and 5 deletions
@@ -52,6 +52,24 @@ namespace Newtonsoft.Json.Tests
[TestFixture] [TestFixture]
public class JsonTextWriterTest : TestFixtureBase public class JsonTextWriterTest : TestFixtureBase
{ {
[Test]
public void QuoteNameAndStrings()
{
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
JsonTextWriter writer = new JsonTextWriter(sw) { QuoteName = false };
writer.WriteStartObject();
writer.WritePropertyName("name");
writer.WriteValue("value");
writer.WriteEndObject();
writer.Flush();
Assert.AreEqual(@"{name:""value""}", sb.ToString());
}
[Test] [Test]
public void CloseOutput() public void CloseOutput()
{ {
+5 -5
View File
@@ -214,7 +214,7 @@ namespace Newtonsoft.Json
{ {
InternalWritePropertyName(name); InternalWritePropertyName(name);
WriteEscapedString(name); WriteEscapedString(name, _quoteName);
_writer.Write(':'); _writer.Write(':');
} }
@@ -230,7 +230,7 @@ namespace Newtonsoft.Json
if (escape) if (escape)
{ {
WriteEscapedString(name); WriteEscapedString(name, _quoteName);
} }
else else
{ {
@@ -364,13 +364,13 @@ namespace Newtonsoft.Json
if (value == null) if (value == null)
WriteValueInternal(JsonConvert.Null, JsonToken.Null); WriteValueInternal(JsonConvert.Null, JsonToken.Null);
else else
WriteEscapedString(value); WriteEscapedString(value, true);
} }
private void WriteEscapedString(string value) private void WriteEscapedString(string value, bool quote)
{ {
EnsureWriteBuffer(); EnsureWriteBuffer();
JavaScriptUtils.WriteEscapedJavaScriptString(_writer, value, _quoteChar, _quoteName, _charEscapeFlags, StringEscapeHandling, ref _writeBuffer); JavaScriptUtils.WriteEscapedJavaScriptString(_writer, value, _quoteChar, quote, _charEscapeFlags, StringEscapeHandling, ref _writeBuffer);
} }
/// <summary> /// <summary>