Skip to content

Commit 2e00e54

Browse files
committed
Fixes #4: Delimiter missing before starting nested table.
1 parent 0ce291b commit 2e00e54

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

Luaon.NET/LuaTableTextWriter.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ private void AssertContainerType(LuaContainerType type)
209209
/// </summary>
210210
public virtual void WriteStartTable()
211211
{
212-
GotoNextState(Token.TableStart);
212+
DelimitLastValue(Token.TableStart);
213213
Push(LuaContainerType.Table);
214214
Writer.Write('{');
215215
}
@@ -351,9 +351,11 @@ private void DelimitLastValue(Token nextToken)
351351
var s = currentState;
352352
GotoNextState(nextToken);
353353

354+
// We are starting to write next field.
354355
if (s == State.FieldStart)
355356
{
356357
// In the middle of a table.
358+
// We may need to close the last field.
357359
if (currentContext.Key != null)
358360
{
359361
currentContext.Key = null;

XUnitTestProject1/Tests/LuaTableTextWriterTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public void WriteNestedTableTest()
9898

9999
tw.WriteEndTable();
100100
tw.Flush();
101-
Assert.Equal("{{1,2,3},4,Named5=5{6,Named7=7}}", sw.ToString());
101+
Assert.Equal("{{1,2,3},4,Named5=5,{6,Named7=7}}", sw.ToString());
102102
}
103103
}
104104

0 commit comments

Comments
 (0)