MCPcopy
hub / github.com/urfave/cli / TestDuplicatePersistentFlagUsesEnvSource

Function TestDuplicatePersistentFlagUsesEnvSource

command_test.go:3783–3823  ·  command_test.go::TestDuplicatePersistentFlagUsesEnvSource
(t *testing.T)

Source from the content-addressed store, hash-verified

3781}
3782
3783func TestDuplicatePersistentFlagUsesEnvSource(t *testing.T) {
3784 t.Setenv("APP_RESULT", "from-env")
3785
3786 resultFlag := &StringFlag{
3787 Name: "result",
3788 Sources: EnvVars("APP_RESULT"),
3789 Required: true,
3790 }
3791
3792 var beforeResult string
3793 var actionResult string
3794 app := &Command{
3795 Name: "root",
3796 Flags: []Flag{
3797 resultFlag,
3798 },
3799 Before: func(_ context.Context, cmd *Command) (context.Context, error) {
3800 beforeResult = cmd.String("result")
3801 return nil, nil
3802 },
3803 Commands: []*Command{
3804 {
3805 Name: "sub",
3806 Flags: []Flag{
3807 resultFlag,
3808 },
3809 Action: func(_ context.Context, cmd *Command) error {
3810 actionResult = cmd.String("result")
3811 return nil
3812 },
3813 },
3814 },
3815 }
3816
3817 err := app.Run(context.Background(), []string{"root", "sub"})
3818 require.NoError(t, err)
3819 require.Equal(t, "from-env", beforeResult)
3820 require.Equal(t, "from-env", actionResult)
3821 require.True(t, app.IsSet("result"))
3822 require.True(t, app.Command("sub").IsSet("result"))
3823}
3824
3825func TestRequiredFlagDelayed(t *testing.T) {
3826 sf := &StringFlag{

Callers

nothing calls this directly

Calls 6

RunMethod · 0.95
IsSetMethod · 0.95
CommandMethod · 0.95
EnvVarsFunction · 0.85
IsSetMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected