summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/js/testing.ts16
-rw-r--r--cli/tests/deno_test_no_color.ts17
-rw-r--r--cli/tests/integration_tests.rs16
3 files changed, 41 insertions, 8 deletions
diff --git a/cli/js/testing.ts b/cli/js/testing.ts
index a6010ed53..64ae6f0b3 100644
--- a/cli/js/testing.ts
+++ b/cli/js/testing.ts
@@ -9,9 +9,6 @@ import { metrics } from "./ops/runtime.ts";
import { resources } from "./ops/resources.ts";
import { assert } from "./util.ts";
-const RED_FAILED = red("FAILED");
-const GREEN_OK = green("ok");
-const YELLOW_IGNORED = yellow("ignored");
const disabledConsole = new Console((): void => {});
function delay(n: number): Promise<void> {
@@ -178,6 +175,9 @@ function log(msg: string, noNewLine = false): void {
}
function reportToConsole(message: TestMessage): void {
+ const redFailed = red("FAILED");
+ const greenOk = green("ok");
+ const yellowIgnored = yellow("ignored");
if (message.start != null) {
log(`running ${message.start.tests.length} tests`);
} else if (message.testStart != null) {
@@ -188,13 +188,13 @@ function reportToConsole(message: TestMessage): void {
} else if (message.testEnd != null) {
switch (message.testEnd.status) {
case "passed":
- log(`${GREEN_OK} ${formatDuration(message.testEnd.duration)}`);
+ log(`${greenOk} ${formatDuration(message.testEnd.duration)}`);
break;
case "failed":
- log(`${RED_FAILED} ${formatDuration(message.testEnd.duration)}`);
+ log(`${redFailed} ${formatDuration(message.testEnd.duration)}`);
break;
case "ignored":
- log(`${YELLOW_IGNORED} ${formatDuration(message.testEnd.duration)}`);
+ log(`${yellowIgnored} ${formatDuration(message.testEnd.duration)}`);
break;
}
} else if (message.end != null) {
@@ -215,7 +215,7 @@ function reportToConsole(message: TestMessage): void {
}
}
log(
- `\ntest result: ${message.end.failed ? RED_FAILED : GREEN_OK}. ` +
+ `\ntest result: ${message.end.failed ? redFailed : greenOk}. ` +
`${message.end.passed} passed; ${message.end.failed} failed; ` +
`${message.end.ignored} ignored; ${message.end.measured} measured; ` +
`${message.end.filtered} filtered out ` +
@@ -223,7 +223,7 @@ function reportToConsole(message: TestMessage): void {
);
if (message.end.usedOnly && message.end.failed == 0) {
- log(`${RED_FAILED} because the "only" option was used\n`);
+ log(`${redFailed} because the "only" option was used\n`);
}
}
}
diff --git a/cli/tests/deno_test_no_color.ts b/cli/tests/deno_test_no_color.ts
new file mode 100644
index 000000000..38c531ee9
--- /dev/null
+++ b/cli/tests/deno_test_no_color.ts
@@ -0,0 +1,17 @@
+Deno.test({
+ name: "success",
+ fn() {},
+});
+
+Deno.test({
+ name: "fail",
+ fn() {
+ throw new Error("fail");
+ },
+});
+
+Deno.test({
+ name: "ignored",
+ ignore: true,
+ fn() {},
+});
diff --git a/cli/tests/integration_tests.rs b/cli/tests/integration_tests.rs
index cbd0dbc26..78a89eb2b 100644
--- a/cli/tests/integration_tests.rs
+++ b/cli/tests/integration_tests.rs
@@ -1120,6 +1120,22 @@ fn repl_test_assign_underscore_error() {
}
#[test]
+fn deno_test_no_color() {
+ let (out, _) = util::run_and_collect_output(
+ false,
+ "test deno_test_no_color.ts",
+ None,
+ Some(vec![("NO_COLOR".to_owned(), "true".to_owned())]),
+ false,
+ );
+ // ANSI escape codes should be stripped.
+ assert!(out.contains("test success ... ok"));
+ assert!(out.contains("test fail ... FAILED"));
+ assert!(out.contains("test ignored ... ignored"));
+ assert!(out.contains("test result: FAILED. 1 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out"));
+}
+
+#[test]
fn util_test() {
util::run_python_script("tools/util_test.py")
}