From 7bd8e8f7084537e4e3404f8c6b0c03f986a058c6 Mon Sep 17 00:00:00 2001 From: Nicolas Cornu Date: Tue, 7 Feb 2023 19:22:36 +0100 Subject: [PATCH] Add brackets in table if no key --- luaparser/builder.py | 1 + luaparser/tests/test_comments.py | 2 ++ luaparser/tests/test_expressions.py | 27 ++++++++++++++------------- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/luaparser/builder.py b/luaparser/builder.py index 490b369..f6e8289 100644 --- a/luaparser/builder.py +++ b/luaparser/builder.py @@ -1472,6 +1472,7 @@ def parse_table_constructor(self, render_last_hidden=True) -> Table or bool: for field in fields: if field.key is None: field.key = Number(array_like_index) + field.between_brackets = True array_like_index += 1 return Table(fields or []) diff --git a/luaparser/tests/test_comments.py b/luaparser/tests/test_comments.py index 177c9d5..4d4c04b 100644 --- a/luaparser/tests/test_comments.py +++ b/luaparser/tests/test_comments.py @@ -143,6 +143,7 @@ def test_comment_in_table(self): Number(1), String("foo", StringDelimiter.DOUBLE_QUOTE), comments=[Comment("-- just a value")], + between_brackets=True, ), Field( Number(2), @@ -151,6 +152,7 @@ def test_comment_in_table(self): Comment("-- last"), Comment("-- toto value"), ], + between_brackets=True, ), Field( Name("Model"), diff --git a/luaparser/tests/test_expressions.py b/luaparser/tests/test_expressions.py index fa86b2a..0bfe6cb 100644 --- a/luaparser/tests/test_expressions.py +++ b/luaparser/tests/test_expressions.py @@ -454,18 +454,18 @@ def test_array(self): values=[ Table( [ - Field(Number(1), Number(1)), - Field(Number(2), Number(2)), - Field(Number(3), Number(4)), - Field(Number(4), Number(8)), - Field(Number(5), Number(16)), - Field(Number(6), Number(32)), - Field(Number(7), Number(64)), - Field(Number(8), Number(128)), - Field(Number(9), Number(256)), - Field(Number(10), Number(512)), - Field(Number(11), Number(1024)), - Field(Number(12), Number(2048)), + Field(Number(1), Number(1), between_brackets=True), + Field(Number(2), Number(2), between_brackets=True), + Field(Number(3), Number(4), between_brackets=True), + Field(Number(4), Number(8), between_brackets=True), + Field(Number(5), Number(16), between_brackets=True), + Field(Number(6), Number(32), between_brackets=True), + Field(Number(7), Number(64), between_brackets=True), + Field(Number(8), Number(128), between_brackets=True), + Field(Number(9), Number(256), between_brackets=True), + Field(Number(10), Number(512), between_brackets=True), + Field(Number(11), Number(1024), between_brackets=True), + Field(Number(12), Number(2048), between_brackets=True), ] ) ], @@ -504,8 +504,9 @@ def test_mix_dict_array(self): Field( Number(1), String("enabled", StringDelimiter.DOUBLE_QUOTE), + between_brackets=True, ), - Field(Number(2), Number(157)), + Field(Number(2), Number(157), between_brackets=True), Field( TrueExpr(), FalseExpr(), between_brackets=True ),