image/list: Show collapsed tree by default by vvoland · Pull Request #6566 · docker/cli · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 49 additions & 31 deletions cli/command/image/list.go
12 changes: 10 additions & 2 deletions cli/command/image/list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func TestNewImagesCommandErrors(t *testing.T) {
cmd := newImagesCommand(test.NewFakeCli(&fakeClient{imageListFunc: tc.imageListFunc}))
cmd.SetOut(io.Discard)
cmd.SetErr(io.Discard)
cmd.SetArgs(tc.args)
cmd.SetArgs(nilToEmptySlice(tc.args))
assert.ErrorContains(t, cmd.Execute(), tc.expectedError)
})
}
Expand Down Expand Up @@ -87,7 +87,7 @@ func TestNewImagesCommandSuccess(t *testing.T) {
cmd := newImagesCommand(cli)
cmd.SetOut(io.Discard)
cmd.SetErr(io.Discard)
cmd.SetArgs(tc.args)
cmd.SetArgs(nilToEmptySlice(tc.args))
err := cmd.Execute()
assert.NilError(t, err)
golden.Assert(t, cli.OutBuffer().String(), fmt.Sprintf("list-command-success.%s.golden", tc.name))
Expand All @@ -97,6 +97,7 @@ func TestNewImagesCommandSuccess(t *testing.T) {

func TestNewListCommandAlias(t *testing.T) {
cmd := newListCommand(test.NewFakeCli(&fakeClient{}))
cmd.SetArgs([]string{""})
assert.Check(t, cmd.HasAlias("list"))
assert.Check(t, !cmd.HasAlias("other"))
}
Expand All @@ -114,3 +115,10 @@ func TestNewListCommandAmbiguous(t *testing.T) {
assert.NilError(t, err)
golden.Assert(t, cli.ErrBuffer().String(), "list-command-ambiguous.golden")
}

func nilToEmptySlice[T any](s []T) []T {
if s == nil {
return []T{}
}
return s
}
5 changes: 3 additions & 2 deletions cli/command/image/remove_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ func (notFound) NotFound() {}

func TestNewRemoveCommandAlias(t *testing.T) {
cmd := newImageRemoveCommand(test.NewFakeCli(&fakeClient{}))
cmd.SetArgs([]string{""})
assert.Check(t, cmd.HasAlias("rmi"))
assert.Check(t, cmd.HasAlias("remove"))
assert.Check(t, !cmd.HasAlias("other"))
Expand Down Expand Up @@ -69,7 +70,7 @@ func TestNewRemoveCommandErrors(t *testing.T) {
}))
cmd.SetOut(io.Discard)
cmd.SetErr(io.Discard)
cmd.SetArgs(tc.args)
cmd.SetArgs(nilToEmptySlice(tc.args))
assert.ErrorContains(t, cmd.Execute(), tc.expectedError)
})
}
Expand Down Expand Up @@ -134,7 +135,7 @@ func TestNewRemoveCommandSuccess(t *testing.T) {
cmd := newRemoveCommand(cli)
cmd.SetOut(io.Discard)
cmd.SetErr(io.Discard)
cmd.SetArgs(tc.args)
cmd.SetArgs(nilToEmptySlice(tc.args))
assert.NilError(t, cmd.Execute())
assert.Check(t, is.Equal(tc.expectedStderr, cli.ErrBuffer().String()))
golden.Assert(t, cli.OutBuffer().String(), fmt.Sprintf("remove-command-success.%s.golden", tc.name))
Expand Down
1 change: 1 addition & 0 deletions cli/command/image/testdata/list-command-ambiguous.golden
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
WARNING: This output is designed for human readability. For machine-readable output, please use --format.

No images found matching "ls": did you mean "docker image ls"?
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
REPOSITORY TAG IMAGE ID CREATED SIZE
Info -> U In Use
[39m[1mIMAGE[0m [39m[1mID[0m [39m[1mDISK USAGE[0m [39m[1mCONTENT SIZE[0m [39m[1mEXTRA[0m
2 changes: 2 additions & 0 deletions cli/command/image/testdata/list-command-success.format.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Info -> U In Use
[39m[1mIMAGE[0m [39m[1mID[0m [39m[1mDISK USAGE[0m [39m[1mCONTENT SIZE[0m [39m[1mEXTRA[0m
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
REPOSITORY TAG IMAGE ID CREATED SIZE
Info -> U In Use
[39m[1mIMAGE[0m [39m[1mID[0m [39m[1mDISK USAGE[0m [39m[1mCONTENT SIZE[0m [39m[1mEXTRA[0m
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
REPOSITORY TAG IMAGE ID CREATED SIZE
Info -> U In Use
[39m[1mIMAGE[0m [39m[1mID[0m [39m[1mDISK USAGE[0m [39m[1mCONTENT SIZE[0m [39m[1mEXTRA[0m
75 changes: 41 additions & 34 deletions cli/command/image/tree.go
Loading