summaryrefslogtreecommitdiff
path: root/cmd/podman/report/format_test.go
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2020-08-03 09:18:49 -0700
committerJhon Honce <jhonce@redhat.com>2020-10-02 06:58:02 -0700
commitc0757374bf187edcf4ae8c4811e162e27794ebf8 (patch)
tree6786a36f86d1a00dc28983ae8580d014ecfc6b4d /cmd/podman/report/format_test.go
parent14fd7b4d6ac18aaa5705990f3dd0ed13477258ad (diff)
downloadpodman-c0757374bf187edcf4ae8c4811e162e27794ebf8.tar.gz
podman-c0757374bf187edcf4ae8c4811e162e27794ebf8.tar.bz2
podman-c0757374bf187edcf4ae8c4811e162e27794ebf8.zip
Restore "table" --format from V1
* --format "table {{.field..." will print fields out in a table with headings. Table keyword is removed, spaces between fields are converted to tabs * Update parse.MatchesJSONFormat()'s regex to be more inclusive * Add report.Headers(), obtain all the field names to be used as column headers, a map of field name to column headers may be provided to override the field names * Update several commands to use new functions Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'cmd/podman/report/format_test.go')
-rw-r--r--cmd/podman/report/format_test.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/cmd/podman/report/format_test.go b/cmd/podman/report/format_test.go
new file mode 100644
index 000000000..7dd62e899
--- /dev/null
+++ b/cmd/podman/report/format_test.go
@@ -0,0 +1,35 @@
+package report
+
+import (
+ "strings"
+ "testing"
+)
+
+func TestNormalizeFormat(t *testing.T) {
+ cases := []struct {
+ format string
+ expected string
+ }{
+ {"table {{.ID}}", "{{.ID}}\n"},
+ {"table {{.ID}} {{.C}}", "{{.ID}}\t{{.C}}\n"},
+ {"{{.ID}}", "{{.ID}}\n"},
+ {"{{.ID}}\n", "{{.ID}}\n"},
+ {"{{.ID}} {{.C}}", "{{.ID}} {{.C}}\n"},
+ {"\t{{.ID}}", "\t{{.ID}}\n"},
+ {`\t` + "{{.ID}}", "\t{{.ID}}\n"},
+ {"table {{.ID}}\t{{.C}}", "{{.ID}}\t{{.C}}\n"},
+ {"{{.ID}} table {{.C}}", "{{.ID}} table {{.C}}\n"},
+ }
+ for _, tc := range cases {
+ tc := tc
+
+ label := strings.ReplaceAll(tc.format, " ", "<sp>")
+ t.Run("NormalizeFormat/"+label, func(t *testing.T) {
+ t.Parallel()
+ actual := NormalizeFormat(tc.format)
+ if actual != tc.expected {
+ t.Errorf("Expected %q, actual %q", tc.expected, actual)
+ }
+ })
+ }
+}