"strings" testconfig "testhelpers/configuration" testterm "testhelpers/terminal" ) var _ = Describe("Help", func() { It("shows help for all commands", func() { commandFactory := createCommandFactory() dummyTemplate := ` {{range .Commands}}{{range .CommandSubGroups}}{{range .}} {{.Name}} {{end}}{{end}}{{end}} ` output := io_helpers.CaptureOutput(func() { app.ShowAppHelp(dummyTemplate, createApp(commandFactory)) }) for _, metadata := range commandFactory.CommandMetadatas() { Expect(commandInOutput(metadata.Name, output)).To(BeTrue(), metadata.Name+" not in help") } }) }) func createCommandFactory() command_factory.Factory { fakeUI := &testterm.FakeUI{} configRepo := testconfig.NewRepository() manifestRepo := manifest.NewManifestDiskRepository() apiRepoLocator := api.NewRepositoryLocator(configRepo, map[string]net.Gateway{ "auth": net.NewUAAGateway(configRepo), "cloud-controller": net.NewCloudControllerGateway(configRepo),
. "cf/terminal" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" "io" "os" "strings" testassert "testhelpers/assert" testconfig "testhelpers/configuration" ) var _ = Describe("UI", func() { Describe("Printing message to stdout with Say", func() { It("prints strings", func() { io_helpers.SimulateStdin("", func(reader io.Reader) { output := io_helpers.CaptureOutput(func() { ui := NewUI(reader) ui.Say("Hello") }) Expect("Hello").To(Equal(strings.Join(output, ""))) }) }) It("prints formatted strings", func() { io_helpers.SimulateStdin("", func(reader io.Reader) { output := io_helpers.CaptureOutput(func() { ui := NewUI(reader) ui.Say("Hello %s", "World!") }) Expect("Hello World!").To(Equal(strings.Join(output, ""))) })