. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" "github.com/onsi/gomega/gbytes" ) var _ = Describe("Showing Flags Usage", func() { var ( fc flags.FlagContext ) BeforeEach(func() { fc = flags.New() fc.NewIntFlag("intFlag", "i", "Usage for intFlag") fc.NewIntFlag("m", "", "Usage for intFlag") fc.NewBoolFlag("boolFlag", "b", "Usage for boolFlag") fc.NewBoolFlag("f", "", "Usage for f") }) It("prints both the full and short flag name", func() { outputs := fc.ShowUsage(0) Ω(outputs).To(ContainSubstring("-intFlag, -i")) Ω(outputs).To(ContainSubstring("-f")) Ω(outputs).To(ContainSubstring("--boolFlag, -b")) }) It("prints full flag name with double dashes (--) if shortName exists", func() { outputs := fc.ShowUsage(1) Ω(outputs).To(ContainSubstring(" --intFlag")) Ω(outputs).To(ContainSubstring(" -m")) Ω(outputs).To(ContainSubstring(" -f"))
fc.NewStringFlagWithDefault("s", "s2", "setting new string flag", "barz") fc.Parse() Ω(fc.IsSet("s")).To(BeTrue()) Ω(fc.IsSet("s2")).To(BeTrue()) Ω(fc.String("s")).To(Equal("barz")) Ω(fc.String("s2")).To(Equal("barz")) }) }) Describe("NewBoolFlag()", func() { It("init the flag context with a new bool flagset", func() { fc.Parse("--force") Ω(fc.IsSet("force")).To(BeFalse()) fc.NewBoolFlag("force", "f", "force process") fc.Parse("--force") Ω(fc.IsSet("force")).To(BeTrue()) Ω(fc.IsSet("f")).To(BeTrue()) Ω(fc.Bool("force")).To(BeTrue()) Ω(fc.Bool("f")).To(BeTrue()) }) }) Describe("NewIntFlag()", func() { It("init the flag context with a new int flagset", func() { fc.Parse("-i", "5") Ω(fc.IsSet("i")).To(BeFalse()) Ω(fc.Int("i")).To(Equal(0)) fc.NewIntFlag("i", "i2", "setting new int flag")
. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" "github.com/onsi/gomega/gbytes" ) var _ = Describe("Showing Flags Usage", func() { var ( fc flags.FlagContext ) BeforeEach(func() { fc = flags.New() fc.NewIntFlag("intFlag", "i", "Usage for intFlag") fc.NewIntFlag("m", "", "Usage for intFlag") fc.NewBoolFlag("boolFlag", "b", "Usage for boolFlag") fc.NewBoolFlag("f", "", "Usage for f") fc.NewBoolFlag("long_flag_1", "", "") fc.NewBoolFlag("long_flag_2", "", "") }) It("prepends long flag name with --", func() { outputs := fc.ShowUsage(0) Ω(outputs).To(ContainSubstring("--long_flag_1")) Ω(outputs).To(ContainSubstring("--long_flag_2")) }) It("prints both the full and short flag name", func() { outputs := fc.ShowUsage(0) Ω(outputs).To(ContainSubstring("--intFlag, -i")) Ω(outputs).To(ContainSubstring("-f"))
var _ = Describe("SSHOptions", func() { var ( opts *options.SSHOptions args []string parseError error fc flags.FlagContext ) Describe("Parse", func() { BeforeEach(func() { fc = flags.New() fc.NewStringSliceFlag("L", "", "") fc.NewStringSliceFlag("command", "c", "") fc.NewIntFlag("app-instance-index", "i", "") fc.NewBoolFlag("skip-host-validation", "k", "") fc.NewBoolFlag("skip-remote-execution", "N", "") fc.NewBoolFlag("request-pseudo-tty", "t", "") fc.NewBoolFlag("force-pseudo-tty", "tt", "") fc.NewBoolFlag("disable-pseudo-tty", "T", "") args = []string{} parseError = nil }) JustBeforeEach(func() { err := fc.Parse(args...) Ω(err).ToNot(HaveOccurred()) opts, parseError = options.NewSSHOptions(fc) })