mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 07:14:47 -05:00
f5e46c9bf2
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.
86 lines
2.1 KiB
Rust
86 lines
2.1 KiB
Rust
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
|
|
use test_util as util;
|
|
use util::assert_contains;
|
|
|
|
#[test]
|
|
fn help_flag() {
|
|
let status = util::deno_cmd()
|
|
.current_dir(util::testdata_path())
|
|
.arg("--help")
|
|
.spawn()
|
|
.unwrap()
|
|
.wait()
|
|
.unwrap();
|
|
assert!(status.success());
|
|
}
|
|
|
|
#[test]
|
|
fn help_output() {
|
|
let output = util::deno_cmd()
|
|
.current_dir(util::testdata_path())
|
|
.arg("--help")
|
|
.run();
|
|
|
|
let stdout = output.combined_output();
|
|
let subcommand_descriptions = vec![
|
|
"Run a JavaScript or TypeScript program",
|
|
"Run benchmarks",
|
|
"Bundle module and dependencies into single file",
|
|
"Cache the dependencies",
|
|
"Type-check the dependencies",
|
|
"Compile the script into a self contained executable",
|
|
"Generate shell completions",
|
|
"Print coverage reports",
|
|
"Show documentation for a module",
|
|
"Eval script",
|
|
"Format source files",
|
|
"Initialize a new project",
|
|
"Show info about cache or info related to source file",
|
|
"Install script as an executable",
|
|
"Uninstall a script previously installed with deno install",
|
|
"Start the language server",
|
|
"Lint source files",
|
|
"Read Eval Print Loop",
|
|
"Run a task defined in the configuration file",
|
|
"Run tests",
|
|
"Print runtime TypeScript declarations",
|
|
#[cfg(feature = "upgrade")]
|
|
"Upgrade deno executable to given version",
|
|
"Vendor remote modules into a local directory",
|
|
"Print this message or the help of the given subcommand(s)",
|
|
];
|
|
|
|
for description in subcommand_descriptions {
|
|
assert_contains!(stdout, description);
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn version_short_flag() {
|
|
let status = util::deno_cmd()
|
|
.current_dir(util::testdata_path())
|
|
.arg("-V")
|
|
.spawn()
|
|
.unwrap()
|
|
.wait()
|
|
.unwrap();
|
|
assert!(status.success());
|
|
}
|
|
|
|
#[test]
|
|
fn version_long_flag() {
|
|
let status = util::deno_cmd()
|
|
.current_dir(util::testdata_path())
|
|
.arg("--version")
|
|
.spawn()
|
|
.unwrap()
|
|
.wait()
|
|
.unwrap();
|
|
assert!(status.success());
|
|
}
|
|
|
|
itest!(types {
|
|
args: "types",
|
|
output: "types/types.out",
|
|
});
|