sq/cli/cobraz/cobraz_test.go
Neil O'Toole db55986980
#307: Ingest cache (#354)
- Support for ingest cache, download cache, and progress bars.
2024-01-14 18:45:34 -07:00

44 lines
1.1 KiB
Go

package cobraz
import (
"testing"
"github.com/spf13/cobra"
"github.com/stretchr/testify/require"
"github.com/neilotoole/sq/testh/tu"
)
func TestExtractDirectives(t *testing.T) {
testCases := []struct {
in cobra.ShellCompDirective
want []cobra.ShellCompDirective
wantStrings []string
}{
{
cobra.ShellCompDirectiveError,
[]cobra.ShellCompDirective{cobra.ShellCompDirectiveError},
[]string{ShellCompDirectiveErrorText},
},
{
cobra.ShellCompDirectiveError | cobra.ShellCompDirectiveNoSpace,
[]cobra.ShellCompDirective{cobra.ShellCompDirectiveError, cobra.ShellCompDirectiveNoSpace},
[]string{ShellCompDirectiveErrorText, ShellCompDirectiveNoSpaceText},
},
{
cobra.ShellCompDirectiveDefault,
[]cobra.ShellCompDirective{cobra.ShellCompDirectiveDefault},
[]string{ShellCompDirectiveDefaultText},
},
}
for i, tc := range testCases {
t.Run(tu.Name(i, tc.in), func(t *testing.T) {
gotDirectives := ExtractDirectives(tc.in)
require.Equal(t, tc.want, gotDirectives)
gotStrings := MarshalDirective(tc.in)
require.Equal(t, tc.wantStrings, gotStrings)
})
}
}