Skip to content
This repository was archived by the owner on Jul 18, 2025. It is now read-only.

Commit 6a0b6ea

Browse files
vdemeesterchris-crone
authored andcommitted
Fix more case for x-enabled parsing failures
- support `true` value - trim spaces in case it's a string and the value has space in there Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent 32f58af commit 6a0b6ea

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

render/render.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,10 @@ func processEnabled(config *composetypes.Config) error {
133133
func isEnabled(e interface{}) (bool, error) {
134134
switch v := e.(type) {
135135
case string:
136-
v = strings.ToLower(v)
136+
v = strings.ToLower(strings.TrimSpace(v))
137137
switch {
138+
case v == "1", v == "true":
139+
return true, nil
138140
case v == "", v == "0", v == "false":
139141
return false, nil
140142
case strings.HasPrefix(v, "!"):

render/render_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ func TestRender(t *testing.T) {
5555
}
5656

5757
func TestRenderEnabledFalse(t *testing.T) {
58-
for _, tc := range []interface{}{false, "false"} {
58+
for _, tc := range []interface{}{false, "false", "! ${myapp.debug}"} {
5959
configs := []composetypes.ConfigFile{
6060
{
6161
Config: map[string]interface{}{
@@ -70,7 +70,9 @@ func TestRenderEnabledFalse(t *testing.T) {
7070
},
7171
},
7272
}
73-
c, err := render(configs, map[string]string{})
73+
c, err := render(configs, map[string]string{
74+
"myapp.debug": "true",
75+
})
7476
assert.NilError(t, err)
7577
assert.Check(t, is.Len(c.Services, 0))
7678
}

0 commit comments

Comments
 (0)