mirror of https://github.com/docker/cli.git
use sortorder lib for sorting the output of volume list command
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
This commit is contained in:
parent
04bb3c770f
commit
5cc1f9006a
|
@ -9,6 +9,7 @@ import (
|
||||||
"github.com/docker/cli/cli/command/formatter"
|
"github.com/docker/cli/cli/command/formatter"
|
||||||
"github.com/docker/cli/opts"
|
"github.com/docker/cli/opts"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
"vbom.ml/util/sortorder"
|
||||||
)
|
)
|
||||||
|
|
||||||
type listOptions struct {
|
type listOptions struct {
|
||||||
|
@ -55,7 +56,7 @@ func runList(dockerCli command.Cli, options listOptions) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
sort.Slice(volumes.Volumes, func(i, j int) bool {
|
sort.Slice(volumes.Volumes, func(i, j int) bool {
|
||||||
return volumes.Volumes[i].Name < volumes.Volumes[j].Name
|
return sortorder.NaturalLess(volumes.Volumes[i].Name, volumes.Volumes[j].Name)
|
||||||
})
|
})
|
||||||
|
|
||||||
volumeCtx := formatter.Context{
|
volumeCtx := formatter.Context{
|
||||||
|
|
|
@ -109,3 +109,21 @@ func TestVolumeListWithFormat(t *testing.T) {
|
||||||
assert.NilError(t, cmd.Execute())
|
assert.NilError(t, cmd.Execute())
|
||||||
golden.Assert(t, cli.OutBuffer().String(), "volume-list-with-format.golden")
|
golden.Assert(t, cli.OutBuffer().String(), "volume-list-with-format.golden")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestVolumeListSortOrder(t *testing.T) {
|
||||||
|
cli := test.NewFakeCli(&fakeClient{
|
||||||
|
volumeListFunc: func(filter filters.Args) (volumetypes.VolumeListOKBody, error) {
|
||||||
|
return volumetypes.VolumeListOKBody{
|
||||||
|
Volumes: []*types.Volume{
|
||||||
|
Volume(VolumeName("volume-2-foo")),
|
||||||
|
Volume(VolumeName("volume-10-foo")),
|
||||||
|
Volume(VolumeName("volume-1-foo")),
|
||||||
|
},
|
||||||
|
}, nil
|
||||||
|
},
|
||||||
|
})
|
||||||
|
cmd := newListCommand(cli)
|
||||||
|
cmd.Flags().Set("format", "{{ .Name }}")
|
||||||
|
assert.NilError(t, cmd.Execute())
|
||||||
|
golden.Assert(t, cli.OutBuffer().String(), "volume-list-sort.golden")
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
volume-1-foo
|
||||||
|
volume-2-foo
|
||||||
|
volume-10-foo
|
Loading…
Reference in New Issue