2024-01-01 14:58:21 -05:00
|
|
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
2023-01-12 20:59:13 -05:00
|
|
|
|
|
|
|
use test_util as util;
|
2024-02-12 19:13:14 -05:00
|
|
|
use test_util::itest;
|
2023-11-17 10:05:42 -05:00
|
|
|
use util::assert_contains;
|
2023-01-12 20:59:13 -05:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn help_flag() {
|
|
|
|
let status = util::deno_cmd()
|
|
|
|
.current_dir(util::testdata_path())
|
|
|
|
.arg("--help")
|
|
|
|
.spawn()
|
|
|
|
.unwrap()
|
|
|
|
.wait()
|
|
|
|
.unwrap();
|
|
|
|
assert!(status.success());
|
|
|
|
}
|
|
|
|
|
2023-06-27 20:57:20 -04:00
|
|
|
#[test]
|
|
|
|
fn help_output() {
|
|
|
|
let output = util::deno_cmd()
|
|
|
|
.current_dir(util::testdata_path())
|
|
|
|
.arg("--help")
|
2023-11-17 10:05:42 -05:00
|
|
|
.run();
|
2023-06-27 20:57:20 -04:00
|
|
|
|
2023-11-17 10:05:42 -05:00
|
|
|
let stdout = output.combined_output();
|
2023-06-27 20:57:20 -04:00
|
|
|
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",
|
2023-10-27 21:54:52 -04:00
|
|
|
"Compile the script into a self contained executable",
|
2023-06-27 20:57:20 -04:00
|
|
|
"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",
|
2023-11-29 13:52:25 -05:00
|
|
|
#[cfg(feature = "upgrade")]
|
2023-06-27 20:57:20 -04:00
|
|
|
"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 {
|
2023-11-17 10:05:42 -05:00
|
|
|
assert_contains!(stdout, description);
|
2023-06-27 20:57:20 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-01-12 20:59:13 -05:00
|
|
|
#[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",
|
|
|
|
});
|