grim/convey

Bump the version for release
v0.14.0-alpha3
2018-02-20, Gary Kramlich
166a6d1979fa
Bump the version for release
// Convey
// Copyright 2016-2018 Gary Kramlich <grim@reaperworld.com>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
package command
import (
"testing"
"github.com/aphistic/sweet"
junit "github.com/aphistic/sweet-junit"
. "github.com/onsi/gomega"
)
type generatorSuite struct{}
func TestMain(m *testing.M) {
RegisterFailHandler(sweet.GomegaFail)
sweet.Run(m, func(s *sweet.S) {
s.RegisterPlugin(junit.NewPlugin())
s.AddSuite(&generatorSuite{})
})
}
func (s *generatorSuite) TestWithoutArgs(t sweet.T) {
g := NewGenerator()
Expect(g).ToNot(BeNil())
}
func (s *generatorSuite) TestWithArgs(t sweet.T) {
g := NewGenerator("a")
Expect(g.Command()).To(BeEquivalentTo([]string{"a"}))
g = NewGenerator("a", "b", "c")
Expect(g.Command()).To(BeEquivalentTo([]string{"a", "b", "c"}))
}
func (s *generatorSuite) TestAppend(t sweet.T) {
g := NewGenerator("a")
g.Append("b", "c")
Expect(g.Command()).To(BeEquivalentTo([]string{"a", "b", "c"}))
g = NewGenerator("a", "b")
g.Append("c")
Expect(g.Command()).To(BeEquivalentTo([]string{"a", "b", "c"}))
g = NewGenerator("a")
g.Append("b", "c", "d", "e", "f", "g", "h", "i", "j", "k")
Expect(g.Command()).To(BeEquivalentTo([]string{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k"}))
}
func (s *generatorSuite) TestPrepend(t sweet.T) {
g := NewGenerator("b", "c")
g.Prepend("a")
Expect(g.Command()).To(BeEquivalentTo([]string{"a", "b", "c"}))
g = NewGenerator("k")
g.Prepend("a", "b", "c", "d", "e", "f", "g", "h", "i", "j")
Expect(g.Command()).To(BeEquivalentTo([]string{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k"}))
}
func (s *generatorSuite) TestMultiplePrepends(t sweet.T) {
g := NewGenerator("u", "v", "w", "x", "y", "z")
g.Prepend("k", "l", "m", "n", "o", "p", "q", "r", "s", "t")
g.Prepend("a", "b", "c", "d", "e", "f", "g", "h", "i", "j")
Expect(g.Command()).To(BeEquivalentTo([]string{
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z",
}))
}
func (s *generatorSuite) TestAppendv(t sweet.T) {
Expect(NewGenerator().Command()).To(BeEquivalentTo([]string{}))
cmd := NewGenerator("a", "b", "c")
cmd.Appendv([]string{"d", "e", "f"})
Expect(cmd.Command()).To(BeEquivalentTo([]string{"a", "b", "c", "d", "e", "f"}))
}
func (s *generatorSuite) TestMixedAppend(t sweet.T) {
cmd := NewGenerator("a")
cmd.Appendv([]string{"b", "c"})
Expect(cmd.Command()).To(BeEquivalentTo([]string{"a", "b", "c"}))
}
func (s *generatorSuite) TestPrependv(t sweet.T) {
cmd := NewGenerator("c")
cmd.Prependv([]string{"a", "b"})
Expect(cmd.Command()).To(BeEquivalentTo([]string{"a", "b", "c"}))
cmd = NewGenerator("a")
cmd.Prependv([]string{})
Expect(cmd.Command()).To(BeEquivalentTo([]string{"a"}))
}