mirror of https://github.com/knative/func.git
61 lines
1.2 KiB
Go
61 lines
1.2 KiB
Go
package cmd
|
|
|
|
import (
|
|
"testing"
|
|
|
|
. "knative.dev/func/pkg/testing"
|
|
)
|
|
|
|
// TestLanguages_Default ensures that the default behavior of listing
|
|
// all supported languages is to print a plain text list of all the builtin
|
|
// language runtimes.
|
|
func TestLanguages_Default(t *testing.T) {
|
|
_ = FromTempDirectory(t)
|
|
|
|
buf := piped(t) // gather output
|
|
cmd := NewLanguagesCmd(NewClient)
|
|
cmd.SetArgs([]string{})
|
|
if err := cmd.Execute(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
expected := `go
|
|
node
|
|
python
|
|
quarkus
|
|
rust
|
|
springboot
|
|
typescript`
|
|
output := buf()
|
|
if output != expected {
|
|
t.Fatalf("expected:\n'%v'\ngot:\n'%v'\n", expected, output)
|
|
}
|
|
}
|
|
|
|
// TestLanguages_JSON ensures that listing languages in --json format returns
|
|
// builtin languages as a JSON array.
|
|
func TestLanguages_JSON(t *testing.T) {
|
|
_ = FromTempDirectory(t)
|
|
|
|
buf := piped(t) // gather output
|
|
cmd := NewLanguagesCmd(NewClient)
|
|
cmd.SetArgs([]string{"--json"})
|
|
if err := cmd.Execute(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
expected := `[
|
|
"go",
|
|
"node",
|
|
"python",
|
|
"quarkus",
|
|
"rust",
|
|
"springboot",
|
|
"typescript"
|
|
]`
|
|
output := buf()
|
|
if output != expected {
|
|
t.Fatalf("expected:\n%v\ngot:\n%v\n", expected, output)
|
|
}
|
|
}
|