From e01b0b3951cec0dbf75be70c04041769eacb86dd Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Mon, 7 Jul 2025 13:42:13 +0200 Subject: [PATCH] Added more cli tests --- src/cli/Exec_test.go | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/cli/Exec_test.go b/src/cli/Exec_test.go index eb78aab..15c6182 100644 --- a/src/cli/Exec_test.go +++ b/src/cli/Exec_test.go @@ -8,18 +8,29 @@ import ( ) func TestExec(t *testing.T) { - assert.Equal(t, cli.Exec(nil), 2) - assert.Equal(t, cli.Exec([]string{"_"}), 2) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry"}), 0) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello/hello.q", "--dry"}), 0) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry", "--os", "linux", "--arch", "arm"}), 0) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry", "--os", "linux", "--arch", "x86"}), 0) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry", "--os", "mac", "--arch", "arm"}), 0) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry", "--os", "mac", "--arch", "x86"}), 0) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry", "--os", "windows", "--arch", "arm"}), 0) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry", "--os", "windows", "--arch", "x86"}), 0) + assert.Equal(t, cli.Exec([]string{"help"}), 0) +} + +func TestExecErrors(t *testing.T) { assert.Equal(t, cli.Exec([]string{"build"}), 1) assert.Equal(t, cli.Exec([]string{"run"}), 1) +} + +func TestExecWrongParameters(t *testing.T) { + assert.Equal(t, cli.Exec(nil), 2) + assert.Equal(t, cli.Exec([]string{"_"}), 2) assert.Equal(t, cli.Exec([]string{"build", "--invalid-parameter"}), 2) assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--invalid-parameter"}), 2) - assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry"}), 0) - assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry", "--os", "linux"}), 0) - assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry", "--os", "mac"}), 0) - assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry", "--os", "windows"}), 0) - assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry", "--arch", "arm"}), 0) - assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--dry", "--arch", "x86"}), 0) - assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello/hello.q", "--dry"}), 0) - assert.Equal(t, cli.Exec([]string{"help"}), 0) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--os"}), 2) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--os", "invalid-os"}), 2) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--arch"}), 2) + assert.Equal(t, cli.Exec([]string{"build", "../../examples/hello", "--arch", "invalid-arch"}), 2) } \ No newline at end of file