From 06a7d199349cebd7ee977ff7a070605b72d9634e Mon Sep 17 00:00:00 2001 From: LemonInTheDark <58055496+lemoninthedark@users.noreply.github.com> Date: Wed, 12 Jul 2023 07:58:39 +0000 Subject: [PATCH] fix: duplicated whitespaces when parsing dmm Testing was insufficient, and it caused us to miss an else if. --- internal/dmapi/dmmap/dmmdata/parse.go | 3 +-- internal/dmapi/dmmap/dmmdata/parse_test.go | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/internal/dmapi/dmmap/dmmdata/parse.go b/internal/dmapi/dmmap/dmmdata/parse.go index 4e47dc37..98a00c77 100644 --- a/internal/dmapi/dmmap/dmmdata/parse.go +++ b/internal/dmapi/dmmap/dmmdata/parse.go @@ -110,8 +110,7 @@ func parse(file namedReader) (*DmmData, error) { } else { currDatum = append(currDatum, c) } - } - if inVarDataBlock { // retain any whitespace in the data block + } else if inVarDataBlock { // retain any whitespace in the data block currDatum = append(currDatum, c) } continue diff --git a/internal/dmapi/dmmap/dmmdata/parse_test.go b/internal/dmapi/dmmap/dmmdata/parse_test.go index 5112d69f..1a8a4a85 100644 --- a/internal/dmapi/dmmap/dmmdata/parse_test.go +++ b/internal/dmapi/dmmap/dmmdata/parse_test.go @@ -215,7 +215,7 @@ no_ws=1; } , /obj/foo2 , /obj/foo1 {no_ws=1} , /obj/foo3{ - liz = list("a" = 2, "c" = 3) + liz = list("a" = 2, "c" = 3, "long bit of text " = "other long bit of text") }) // Comment line that shouldn't flag TGM format @@ -248,7 +248,7 @@ no_ws=1; assert.Equal("/obj/foo3", prefabs[3].Path()) assert.ElementsMatch(prefabs[3].Vars().Iterate(), []string{"liz"}) - assert.Equal("list(\"a\" = 2, \"c\" = 3)", prefabs[3].Vars().ValueV("liz", "")) + assert.Equal("list(\"a\" = 2, \"c\" = 3, \"long bit of text \" = \"other long bit of text\")", prefabs[3].Vars().ValueV("liz", "")) } // Table-based test to check failure edge cases.