31 lines
615 B
Go

package main_test
import (
"testing"
"git.akyoto.dev/cli/q/cli"
"git.akyoto.dev/go/assert"
)
func TestCLI(t *testing.T) {
type cliTest struct {
arguments []string
expectedExitCode int
}
tests := []cliTest{
{[]string{}, 2},
{[]string{"invalid"}, 2},
{[]string{"system"}, 0},
{[]string{"build", "non-existing-directory"}, 1},
{[]string{"build", "examples/hello/hello.q"}, 2},
{[]string{"build", "examples/hello", "--invalid"}, 2},
}
for _, test := range tests {
exitCode := cli.Main(test.arguments)
t.Log(test.arguments)
assert.Equal(t, exitCode, test.expectedExitCode)
}
}