コード例 #1
0
ファイル: flags_usage_test.go プロジェクト: Doebe/workplace
	. "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"))
コード例 #2
0
			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")
コード例 #3
0
ファイル: flags_usage_test.go プロジェクト: simonleung8/flags
	. "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"))
コード例 #4
0
ファイル: ssh_options_test.go プロジェクト: Doebe/workplace
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)
		})