fix: multiple extra-files are not evaluated properly (#61)

Quoting issues caused multiple extra-files to be ignored.
This commit is contained in:
Julian Tölle 2024-09-15 20:59:17 +02:00 committed by GitHub
parent 7a3d46eac7
commit 2567293368
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 68 additions and 3 deletions

59
cmd/rp/cmd/run_test.go Normal file
View file

@ -0,0 +1,59 @@
package cmd
import (
"testing"
"github.com/stretchr/testify/assert"
)
func Test_parseExtraFiles(t *testing.T) {
tests := []struct {
name string
input string
want []string
}{
{
name: "empty",
input: ``,
want: []string{},
},
{
name: "empty quoted",
input: `""`,
want: []string{},
},
{
name: "single",
input: `foo.txt`,
want: []string{"foo.txt"},
},
{
name: "single quoted",
input: `"foo.txt"`,
want: []string{"foo.txt"},
},
{
name: "multiple",
input: `foo.txt
dir/Chart.yaml`,
want: []string{"foo.txt", "dir/Chart.yaml"},
},
{
name: "multiple quoted",
input: `"foo.txt
dir/Chart.yaml"`,
want: []string{"foo.txt", "dir/Chart.yaml"},
},
{
name: "multiple with broken new lines",
input: `"action.yml\ntemplates/run.yml\n"`,
want: []string{"action.yml", "templates/run.yml"},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got := parseExtraFiles(tt.input)
assert.Equal(t, tt.want, got)
})
}
}