1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-03 17:08:35 -05:00
denoland-deno/tests/integration/task_tests.rs

89 lines
2.4 KiB
Rust

// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
// Most of the tests for this are in deno_task_shell.
// These tests are intended to only test integration.
use test_util as util;
use util::TestContextBuilder;
// use test_util::env_vars_for_npm_tests;
// use test_util::itest;
// use test_util::TestContext;
// TODO(2.0): this should first run `deno install`
// itest!(task_package_json_npm_bin {
// args: "task bin extra",
// cwd: Some("task/package_json/"),
// output: "task/package_json/bin.out",
// copy_temp_dir: Some("task/package_json/"),
// envs: env_vars_for_npm_tests(),
// exit_code: 0,
// http_server: true,
// });
// TODO(2.0): not entirely clear what's wrong with this test but it hangs for more than 60s
// itest!(task_npx_on_own {
// args: "task on-own",
// cwd: Some("task/npx/"),
// output: "task/npx/on_own.out",
// copy_temp_dir: Some("task/npx/"),
// envs: env_vars_for_npm_tests(),
// exit_code: 1,
// http_server: true,
// });
#[test]
fn deno_task_ansi_escape_codes() {
let context = TestContextBuilder::default().use_temp_cwd().build();
let temp_dir = context.temp_dir();
temp_dir.write("deno.json", r#"{
"tasks": {
"dev": "echo 'BOOO!!!'",
"next": "\u001b[3F\u001b[0G- dev\u001b[1E\u001b[2K echo 'I am your friend.'"
}
}
"#);
context
.new_command()
.args_vec(["task"])
.with_pty(|mut console| {
console.expect("Available tasks:");
console.expect("- dev");
console.expect(" echo 'BOOO!!!'");
console.expect("- next");
console.expect(" - dev echo 'I am your friend.'");
});
}
#[test]
fn deno_task_control_chars() {
let context = TestContextBuilder::default().use_temp_cwd().build();
let temp_dir = context.temp_dir();
temp_dir.write(
"deno.json",
r#"{
"tasks": {
"dev": "echo 'BOOO!!!' && \r echo hi there is my command",
"serve": {
"description": "this is a\tm\rangled description",
"command": "echo hello"
}
}
}
"#,
);
context
.new_command()
.args_vec(["task"])
.with_pty(|mut console| {
console.expect("Available tasks:");
console.expect("- dev");
console
.expect(" echo 'BOOO!!!' && \\r echo hi there is my command");
console.expect("- serve");
console.expect(" // this is a\\tm\\rangled description");
console.expect(" echo hello");
});
}