summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/integration/mod.rs2
-rw-r--r--cli/tests/integration/task_tests.rs71
-rw-r--r--cli/tests/testdata/task/deno.json8
-rw-r--r--cli/tests/testdata/task/task_additional_args.out1
-rw-r--r--cli/tests/testdata/task/task_additional_args_nested_strings.out1
-rw-r--r--cli/tests/testdata/task/task_additional_args_no_logic.out1
-rw-r--r--cli/tests/testdata/task/task_additional_args_no_shell_expansion.out1
-rw-r--r--cli/tests/testdata/task/task_boolean_logic.out4
-rw-r--r--cli/tests/testdata/task/task_exit_code_5.out1
-rw-r--r--cli/tests/testdata/task/task_no_args.out9
-rw-r--r--cli/tests/testdata/task/task_non_existent.out10
11 files changed, 109 insertions, 0 deletions
diff --git a/cli/tests/integration/mod.rs b/cli/tests/integration/mod.rs
index 2a1e69bd1..8d934dc0f 100644
--- a/cli/tests/integration/mod.rs
+++ b/cli/tests/integration/mod.rs
@@ -80,6 +80,8 @@ mod lsp;
mod repl;
#[path = "run_tests.rs"]
mod run;
+#[path = "task_tests.rs"]
+mod task;
#[path = "test_tests.rs"]
mod test;
#[path = "upgrade_tests.rs"]
diff --git a/cli/tests/integration/task_tests.rs b/cli/tests/integration/task_tests.rs
new file mode 100644
index 000000000..5d5887469
--- /dev/null
+++ b/cli/tests/integration/task_tests.rs
@@ -0,0 +1,71 @@
+// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
+
+use crate::itest;
+
+// Most of the tests for this are in deno_task_shell.
+// These tests are intended to only test integration.
+
+itest!(task_no_args {
+ args: "task --config task/deno.json",
+ output: "task/task_no_args.out",
+ envs: vec![("NO_COLOR".to_string(), "1".to_string())],
+ exit_code: 1,
+});
+
+itest!(task_non_existent {
+ args: "task --config task/deno.json non_existent",
+ output: "task/task_non_existent.out",
+ envs: vec![("NO_COLOR".to_string(), "1".to_string())],
+ exit_code: 1,
+});
+
+itest!(task_boolean_logic {
+ args: "task --config task/deno.json boolean_logic",
+ output: "task/task_boolean_logic.out",
+ envs: vec![("NO_COLOR".to_string(), "1".to_string())],
+});
+
+itest!(task_exit_code_1 {
+ args: "task --config task/deno.json exit_code_5",
+ output: "task/task_exit_code_5.out",
+ envs: vec![("NO_COLOR".to_string(), "1".to_string())],
+ exit_code: 5,
+});
+
+itest!(task_additional_args {
+ args: "task --config task/deno.json echo 2",
+ output: "task/task_additional_args.out",
+ envs: vec![("NO_COLOR".to_string(), "1".to_string())],
+});
+
+itest!(task_additional_args_no_shell_expansion {
+ args_vec: vec!["task", "--config", "task/deno.json", "echo", "$(echo 5)"],
+ output: "task/task_additional_args_no_shell_expansion.out",
+ envs: vec![("NO_COLOR".to_string(), "1".to_string())],
+});
+
+itest!(task_additional_args_nested_strings {
+ args_vec: vec![
+ "task",
+ "--config",
+ "task/deno.json",
+ "echo",
+ "string \"quoted string\""
+ ],
+ output: "task/task_additional_args_nested_strings.out",
+ envs: vec![("NO_COLOR".to_string(), "1".to_string())],
+});
+
+itest!(task_additional_args_no_logic {
+ args_vec: vec![
+ "task",
+ "--config",
+ "task/deno.json",
+ "echo",
+ "||",
+ "echo",
+ "5"
+ ],
+ output: "task/task_additional_args_no_logic.out",
+ envs: vec![("NO_COLOR".to_string(), "1".to_string())],
+});
diff --git a/cli/tests/testdata/task/deno.json b/cli/tests/testdata/task/deno.json
new file mode 100644
index 000000000..c26e143e1
--- /dev/null
+++ b/cli/tests/testdata/task/deno.json
@@ -0,0 +1,8 @@
+{
+ "tasks": {
+ "boolean_logic": "sleep 0.1 && echo 3 && echo 4 & echo 1 && echo 2 || echo NOPE",
+ "echo": "echo 1",
+ "strings": "deno run main.ts && deno eval \"console.log(\\\"test\\\")\"",
+ "exit_code_5": "echo $(echo 10 ; exit 2) && exit 5"
+ }
+}
diff --git a/cli/tests/testdata/task/task_additional_args.out b/cli/tests/testdata/task/task_additional_args.out
new file mode 100644
index 000000000..8d04f961a
--- /dev/null
+++ b/cli/tests/testdata/task/task_additional_args.out
@@ -0,0 +1 @@
+1 2
diff --git a/cli/tests/testdata/task/task_additional_args_nested_strings.out b/cli/tests/testdata/task/task_additional_args_nested_strings.out
new file mode 100644
index 000000000..0e5f35c7f
--- /dev/null
+++ b/cli/tests/testdata/task/task_additional_args_nested_strings.out
@@ -0,0 +1 @@
+1 string "quoted string"
diff --git a/cli/tests/testdata/task/task_additional_args_no_logic.out b/cli/tests/testdata/task/task_additional_args_no_logic.out
new file mode 100644
index 000000000..a4886a60d
--- /dev/null
+++ b/cli/tests/testdata/task/task_additional_args_no_logic.out
@@ -0,0 +1 @@
+1 || echo 5
diff --git a/cli/tests/testdata/task/task_additional_args_no_shell_expansion.out b/cli/tests/testdata/task/task_additional_args_no_shell_expansion.out
new file mode 100644
index 000000000..826a3aaf1
--- /dev/null
+++ b/cli/tests/testdata/task/task_additional_args_no_shell_expansion.out
@@ -0,0 +1 @@
+1 $(echo 5)
diff --git a/cli/tests/testdata/task/task_boolean_logic.out b/cli/tests/testdata/task/task_boolean_logic.out
new file mode 100644
index 000000000..94ebaf900
--- /dev/null
+++ b/cli/tests/testdata/task/task_boolean_logic.out
@@ -0,0 +1,4 @@
+1
+2
+3
+4
diff --git a/cli/tests/testdata/task/task_exit_code_5.out b/cli/tests/testdata/task/task_exit_code_5.out
new file mode 100644
index 000000000..f599e28b8
--- /dev/null
+++ b/cli/tests/testdata/task/task_exit_code_5.out
@@ -0,0 +1 @@
+10
diff --git a/cli/tests/testdata/task/task_no_args.out b/cli/tests/testdata/task/task_no_args.out
new file mode 100644
index 000000000..edf028649
--- /dev/null
+++ b/cli/tests/testdata/task/task_no_args.out
@@ -0,0 +1,9 @@
+Available tasks:
+- boolean_logic
+ sleep 0.1 && echo 3 && echo 4 & echo 1 && echo 2 || echo NOPE
+- echo
+ echo 1
+- exit_code_5
+ echo $(echo 10 ; exit 2) && exit 5
+- strings
+ deno run main.ts && deno eval "console.log(\"test\")"
diff --git a/cli/tests/testdata/task/task_non_existent.out b/cli/tests/testdata/task/task_non_existent.out
new file mode 100644
index 000000000..916a85706
--- /dev/null
+++ b/cli/tests/testdata/task/task_non_existent.out
@@ -0,0 +1,10 @@
+Task not found: non_existent
+Available tasks:
+- boolean_logic
+ sleep 0.1 && echo 3 && echo 4 & echo 1 && echo 2 || echo NOPE
+- echo
+ echo 1
+- exit_code_5
+ echo $(echo 10 ; exit 2) && exit 5
+- strings
+ deno run main.ts && deno eval "console.log(\"test\")"