mirror of
https://github.com/containers/podman.git
synced 2025-10-25 02:04:43 +08:00
Merge pull request #16446 from Luap99/format-json
fix --format {{json .}} output to match docker
This commit is contained in:
@ -1,10 +0,0 @@
|
||||
package parse
|
||||
|
||||
import "regexp"
|
||||
|
||||
var jsonFormatRegex = regexp.MustCompile(`^\s*(json|{{\s*json\s*(\.)?\s*}})\s*$`)
|
||||
|
||||
// MatchesJSONFormat test CLI --format string to be a JSON request.
|
||||
func MatchesJSONFormat(s string) bool {
|
||||
return jsonFormatRegex.Match([]byte(s))
|
||||
}
|
||||
@ -1,45 +0,0 @@
|
||||
package parse
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestMatchesJSONFormat(t *testing.T) {
|
||||
tests := []struct {
|
||||
input string
|
||||
expected bool
|
||||
}{
|
||||
{"json", true},
|
||||
{" json", true},
|
||||
{" json ", true},
|
||||
{" json ", true},
|
||||
{"{{json}}", true},
|
||||
{"{{json }}", true},
|
||||
{"{{json .}}", true},
|
||||
{"{{ json .}}", true},
|
||||
{"{{ json . }}", true},
|
||||
{" {{ json . }} ", true},
|
||||
{"{{ json .", false},
|
||||
{"json . }}", false},
|
||||
{"{{.ID }} json .", false},
|
||||
{"json .", false},
|
||||
{"{{json.}}", true},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
assert.Equal(t, tt.expected, MatchesJSONFormat(tt.input))
|
||||
}
|
||||
|
||||
for _, tc := range tests {
|
||||
tc := tc
|
||||
label := "MatchesJSONFormat/" + strings.ReplaceAll(tc.input, " ", "_")
|
||||
t.Run(label, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
assert.Equal(t, tc.expected, MatchesJSONFormat(tc.input), fmt.Sprintf("Scanning %q failed", tc.input))
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user