diff --git a/Luaon.NET/LuaConvert.cs b/Luaon.NET/LuaConvert.cs index f386155..2fd7b06 100644 --- a/Luaon.NET/LuaConvert.cs +++ b/Luaon.NET/LuaConvert.cs @@ -445,7 +445,7 @@ internal static void WriteEscapedString(string value, StringDelimiterInfo delimi switch (c) { case '\\': - writer.Write("\\"); + writer.Write("\\\\"); break; case '\a': writer.Write("\\a"); diff --git a/XUnitTestProject1/Tests/LuaConvertTests.cs b/XUnitTestProject1/Tests/LuaConvertTests.cs index f5a2901..dca76df 100644 --- a/XUnitTestProject1/Tests/LuaConvertTests.cs +++ b/XUnitTestProject1/Tests/LuaConvertTests.cs @@ -15,7 +15,7 @@ public LuaConvertTests(ITestOutputHelper output) : base(output) [Fact] public void ToStringTest() { - Assert.Equal(@"""test\a\b\r\n\""abc""", LuaConvert.ToString("test\a\b\r\n\"abc")); + Assert.Equal(@"""test \\ \a\b\r\n\""abc""", LuaConvert.ToString("test \\ \a\b\r\n\"abc")); Assert.Equal(@"'abc""def'", LuaConvert.ToString("abc\"def", "'")); Assert.Equal(@"[[test]]", LuaConvert.ToString("test", "[[")); Assert.Equal(@"[==[test]==]", LuaConvert.ToString("test", "[==["));