From f5e46c9bf2f50d66a953fa133161fc829cecff06 Mon Sep 17 00:00:00 2001 From: Matt Mastracci Date: Sat, 10 Feb 2024 13:22:13 -0700 Subject: chore: move cli/tests/ -> tests/ (#22369) This looks like a massive PR, but it's only a move from cli/tests -> tests, and updates of relative paths for files. This is the first step towards aggregate all of the integration test files under tests/, which will lead to a set of integration tests that can run without the CLI binary being built. While we could leave these tests under `cli`, it would require us to keep a more complex directory structure for the various test runners. In addition, we have a lot of complexity to ignore various test files in the `cli` project itself (cargo publish exclusion rules, autotests = false, etc). And finally, the `tests/` folder will eventually house the `test_ffi`, `test_napi` and other testing code, reducing the size of the root repo directory. For easier review, the extremely large and noisy "move" is in the first commit (with no changes -- just a move), while the remainder of the changes to actual files is in the second commit. --- cli/tests/integration/init_tests.rs | 171 ------------------------------------ 1 file changed, 171 deletions(-) delete mode 100644 cli/tests/integration/init_tests.rs (limited to 'cli/tests/integration/init_tests.rs') diff --git a/cli/tests/integration/init_tests.rs b/cli/tests/integration/init_tests.rs deleted file mode 100644 index d3908eae4..000000000 --- a/cli/tests/integration/init_tests.rs +++ /dev/null @@ -1,171 +0,0 @@ -// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. - -use test_util as util; -use util::assert_contains; -use util::TestContextBuilder; - -#[test] -fn init_subcommand_without_dir() { - let context = TestContextBuilder::new().use_temp_cwd().build(); - let cwd = context.temp_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"); - assert_contains!(stderr, "deno task dev"); - assert_contains!(stderr, "deno test"); - - assert!(cwd.join("deno.json").exists()); - - let output = context - .new_command() - .env("NO_COLOR", "1") - .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") - .args("test") - .split_output() - .run(); - - output.assert_exit_code(0); - assert_contains!(output.stdout(), "1 passed"); - output.skip_output_check(); -} - -#[test] -fn init_subcommand_with_dir_arg() { - let context = TestContextBuilder::new().use_temp_cwd().build(); - let cwd = context.temp_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"); - assert_contains!(stderr, "deno task dev"); - assert_contains!(stderr, "deno test"); - - assert!(cwd.join("my_dir/deno.json").exists()); - - let output = context - .new_command() - .env("NO_COLOR", "1") - .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") - .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(); -} - -#[test] -fn init_subcommand_with_quiet_arg() { - let context = TestContextBuilder::new().use_temp_cwd().build(); - let cwd = context.temp_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.json").exists()); - - let output = context - .new_command() - .env("NO_COLOR", "1") - .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") - .args("test") - .split_output() - .run(); - - output.assert_exit_code(0); - assert_contains!(output.stdout(), "1 passed"); - output.skip_output_check(); -} - -#[test] -fn init_subcommand_with_existing_file() { - let context = TestContextBuilder::new().use_temp_cwd().build(); - let cwd = context.temp_dir().path(); - - cwd - .join("main.ts") - .write("console.log('Log from main.ts that already exists');"); - - let output = context.new_command().args("init").split_output().run(); - - output.assert_exit_code(0); - output.assert_stderr_matches_text( - "ℹ️ Skipped creating main.ts as it already exists -✅ Project initialized - -Run these commands to get started - - # Run the program - deno run main.ts - - # Run the program and watch for file changes - deno task dev - - # Run the tests - deno test -", - ); - - assert!(cwd.join("deno.json").exists()); - - let output = context - .new_command() - .env("NO_COLOR", "1") - .args("run main.ts") - .run(); - - output.assert_exit_code(0); - output.assert_matches_text("Log from main.ts that already exists\n"); -} -- cgit v1.2.3