summaryrefslogtreecommitdiff
path: root/cli/tests/integration/init_tests.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/integration/init_tests.rs')
-rw-r--r--cli/tests/integration/init_tests.rs280
1 files changed, 120 insertions, 160 deletions
diff --git a/cli/tests/integration/init_tests.rs b/cli/tests/integration/init_tests.rs
index 5ba69b87f..d92bfd371 100644
--- a/cli/tests/integration/init_tests.rs
+++ b/cli/tests/integration/init_tests.rs
@@ -1,27 +1,21 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
-use std::process::Stdio;
use test_util as util;
-use test_util::TempDir;
use util::assert_contains;
+use util::TestContextBuilder;
#[test]
fn init_subcommand_without_dir() {
- let temp_dir = TempDir::new();
- let cwd = temp_dir.path();
- let deno_dir = util::new_deno_dir();
-
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
- .arg("init")
- .stderr(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
- let stderr = String::from_utf8(output.stderr).unwrap();
+ let context = TestContextBuilder::new().use_temp_cwd().build();
+ let deno_dir = context.deno_dir();
+
+ let cwd = deno_dir.path();
+
+ let output = context.new_command().args("init").split_output().run();
+
+ output.assert_exit_code(0);
+
+ let stderr = output.stderr();
assert_contains!(stderr, "Project initialized");
assert!(!stderr.contains("cd"));
assert_contains!(stderr, "deno run main.ts");
@@ -31,65 +25,52 @@ fn init_subcommand_without_dir() {
assert!(cwd.join("deno.jsonc").exists());
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
+ let output = context
+ .new_command()
.env("NO_COLOR", "1")
- .arg("run")
- .arg("main.ts")
- .stdout(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
- assert_eq!(output.stdout, b"Add 2 + 3 = 5\n");
-
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
+ .args("run main.ts")
+ .split_output()
+ .run();
+
+ output.assert_exit_code(0);
+ assert_eq!(output.stdout().as_bytes(), b"Add 2 + 3 = 5\n");
+
+ let output = context
+ .new_command()
.env("NO_COLOR", "1")
- .arg("test")
- .stdout(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
- let stdout = String::from_utf8(output.stdout).unwrap();
- assert_contains!(stdout, "1 passed");
-
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
+ .args("test")
+ .split_output()
+ .run();
+
+ output.assert_exit_code(0);
+ assert_contains!(output.stdout(), "1 passed");
+ output.skip_output_check();
+
+ let output = context
+ .new_command()
.env("NO_COLOR", "1")
- .arg("bench")
- .stdout(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
+ .args("bench")
+ .run();
+
+ output.assert_exit_code(0);
+ output.skip_output_check();
}
#[test]
fn init_subcommand_with_dir_arg() {
- let temp_dir = TempDir::new();
- let cwd = temp_dir.path();
- let deno_dir = util::new_deno_dir();
-
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
- .arg("init")
- .arg("my_dir")
- .stderr(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
- let stderr = String::from_utf8(output.stderr).unwrap();
+ let context = TestContextBuilder::new().use_temp_cwd().build();
+ let deno_dir = context.deno_dir();
+ let cwd = deno_dir.path();
+
+ let output = context
+ .new_command()
+ .args("init my_dir")
+ .split_output()
+ .run();
+
+ output.assert_exit_code(0);
+
+ let stderr = output.stderr();
assert_contains!(stderr, "Project initialized");
assert_contains!(stderr, "cd my_dir");
assert_contains!(stderr, "deno run main.ts");
@@ -99,107 +80,86 @@ fn init_subcommand_with_dir_arg() {
assert!(cwd.join("my_dir/deno.jsonc").exists());
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
+ let output = context
+ .new_command()
.env("NO_COLOR", "1")
- .arg("run")
- .arg("my_dir/main.ts")
- .stdout(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
- assert_eq!(output.stdout, b"Add 2 + 3 = 5\n");
-
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
+ .args("run my_dir/main.ts")
+ .split_output()
+ .run();
+
+ output.assert_exit_code(0);
+
+ assert_eq!(output.stdout().as_bytes(), b"Add 2 + 3 = 5\n");
+ output.skip_output_check();
+
+ let output = context
+ .new_command()
.env("NO_COLOR", "1")
- .arg("test")
- .arg("my_dir/main_test.ts")
- .stdout(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
- let stdout = String::from_utf8(output.stdout).unwrap();
- assert_contains!(stdout, "1 passed");
-
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
+ .args("test my_dir/main_test.ts")
+ .split_output()
+ .run();
+
+ output.assert_exit_code(0);
+ assert_contains!(output.stdout(), "1 passed");
+ output.skip_output_check();
+
+ let output = context
+ .new_command()
.env("NO_COLOR", "1")
- .arg("bench")
- .arg("my_dir/main_bench.ts")
- .stdout(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
+ .args("bench my_dir/main_bench.ts")
+ .split_output()
+ .run();
+
+ output.assert_exit_code(0);
+ output.skip_output_check();
}
#[test]
fn init_subcommand_with_quiet_arg() {
- let temp_dir = TempDir::new();
- let cwd = temp_dir.path();
- let deno_dir = util::new_deno_dir();
-
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
- .arg("init")
- .arg("--quiet")
- .stdout(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
- let stdout = String::from_utf8(output.stdout).unwrap();
- assert_eq!(stdout, "");
+ let context = TestContextBuilder::new().use_temp_cwd().build();
+ let deno_dir = context.deno_dir();
+ let cwd = deno_dir.path();
+
+ let output = context
+ .new_command()
+ .args("init --quiet")
+ .split_output()
+ .run();
+
+ output.assert_exit_code(0);
+
+ assert_eq!(output.stdout(), "");
assert!(cwd.join("deno.jsonc").exists());
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
+ let output = context
+ .new_command()
.env("NO_COLOR", "1")
- .arg("run")
- .arg("main.ts")
- .stdout(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
- assert_eq!(output.stdout, b"Add 2 + 3 = 5\n");
-
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
+ .args("run main.ts")
+ .split_output()
+ .run();
+
+ output.assert_exit_code(0);
+ assert_eq!(output.stdout().as_bytes(), b"Add 2 + 3 = 5\n");
+ output.skip_output_check();
+
+ let output = context
+ .new_command()
.env("NO_COLOR", "1")
- .arg("test")
- .stdout(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
- let stdout = String::from_utf8(output.stdout).unwrap();
- assert_contains!(stdout, "1 passed");
-
- let mut deno_cmd = util::deno_cmd_with_deno_dir(&deno_dir);
- let output = deno_cmd
- .current_dir(cwd)
+ .args("test")
+ .split_output()
+ .run();
+
+ output.assert_exit_code(0);
+ assert_contains!(output.stdout(), "1 passed");
+ output.skip_output_check();
+
+ let output = context
+ .new_command()
.env("NO_COLOR", "1")
- .arg("bench")
- .stdout(Stdio::piped())
- .spawn()
- .unwrap()
- .wait_with_output()
- .unwrap();
- assert!(output.status.success());
+ .args("bench")
+ .split_output()
+ .run();
+
+ output.assert_exit_code(0);
+ output.skip_output_check();
}