mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 07:44:48 -05:00
4a0a412d7c
This commit changes default default behavior of type checking for several subcommands. Instead of type checking and reporting type errors only for local files, the type checking is skipped entirely. Type checking can still be enabled using the "--check" flag. Following subcomands are affected: - deno cache - deno install - deno eval - deno run
80 lines
2.1 KiB
Rust
80 lines
2.1 KiB
Rust
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
|
|
|
|
use crate::itest;
|
|
use test_util as util;
|
|
|
|
#[test]
|
|
fn eval_p() {
|
|
let output = util::deno_cmd()
|
|
.arg("eval")
|
|
.arg("-p")
|
|
.arg("1+2")
|
|
.stdout(std::process::Stdio::piped())
|
|
.spawn()
|
|
.unwrap()
|
|
.wait_with_output()
|
|
.unwrap();
|
|
assert!(output.status.success());
|
|
let stdout_str =
|
|
util::strip_ansi_codes(std::str::from_utf8(&output.stdout).unwrap().trim());
|
|
assert_eq!("3", stdout_str);
|
|
}
|
|
|
|
// Make sure that snapshot flags don't affect runtime.
|
|
#[test]
|
|
fn eval_randomness() {
|
|
let mut numbers = Vec::with_capacity(10);
|
|
for _ in 0..10 {
|
|
let output = util::deno_cmd()
|
|
.arg("eval")
|
|
.arg("-p")
|
|
.arg("Math.random()")
|
|
.stdout(std::process::Stdio::piped())
|
|
.spawn()
|
|
.unwrap()
|
|
.wait_with_output()
|
|
.unwrap();
|
|
assert!(output.status.success());
|
|
let stdout_str = util::strip_ansi_codes(
|
|
std::str::from_utf8(&output.stdout).unwrap().trim(),
|
|
);
|
|
numbers.push(stdout_str.to_string());
|
|
}
|
|
numbers.dedup();
|
|
assert!(numbers.len() > 1);
|
|
}
|
|
|
|
itest!(_029_eval {
|
|
args: "eval console.log(\"hello\")",
|
|
output: "029_eval.out",
|
|
});
|
|
|
|
// Ugly parentheses due to whitespace delimiting problem.
|
|
itest!(_030_eval_ts {
|
|
args: "eval --quiet --ext=ts console.log((123)as(number))", // 'as' is a TS keyword only
|
|
output: "030_eval_ts.out",
|
|
});
|
|
|
|
itest!(_041_dyn_import_eval {
|
|
args: "eval import('./subdir/mod4.js').then(console.log)",
|
|
output: "041_dyn_import_eval.out",
|
|
});
|
|
|
|
// Cannot write the expression to evaluate as "console.log(typeof gc)"
|
|
// because itest! splits args on whitespace.
|
|
itest!(v8_flags_eval {
|
|
args: "eval --v8-flags=--expose-gc console.log(typeof(gc))",
|
|
output: "v8_flags.js.out",
|
|
});
|
|
|
|
itest!(check_local_by_default {
|
|
args: "eval --quiet import('http://localhost:4545/subdir/type_error.ts').then(console.log);",
|
|
output: "eval/check_local_by_default.out",
|
|
http_server: true,
|
|
});
|
|
|
|
itest!(check_local_by_default2 {
|
|
args: "eval --quiet import('./eval/check_local_by_default2.ts').then(console.log);",
|
|
output: "eval/check_local_by_default2.out",
|
|
http_server: true,
|
|
});
|