diff options
| author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2022-04-27 00:06:10 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-27 01:06:10 +0200 |
| commit | 9853c96cc4686a6cd1ffa1e9081c012b8df72ff7 (patch) | |
| tree | c631ebfc363c06c468367be7ecd5b98110dde3a0 /cli/tests | |
| parent | 58eab0e2b37fd8c3c83445196d4bde419740373d (diff) | |
refactor: Remove PrettyJsError and js_error_create_fn (#14378)
This commit:
- removes "fmt_errors::PrettyJsError" in favor of "format_js_error" fn
- removes "deno_core::JsError::create" and
"deno_core::RuntimeOptions::js_error_create_fn"
- adds new option to "deno_runtime::ops::worker_host::init"
Diffstat (limited to 'cli/tests')
| -rw-r--r-- | cli/tests/integration/compile_tests.rs | 10 | ||||
| -rw-r--r-- | cli/tests/integration/worker_tests.rs | 6 | ||||
| -rw-r--r-- | cli/tests/testdata/workers/error_event.ts | 11 | ||||
| -rw-r--r-- | cli/tests/testdata/workers/error_event.ts.out | 13 |
4 files changed, 38 insertions, 2 deletions
diff --git a/cli/tests/integration/compile_tests.rs b/cli/tests/integration/compile_tests.rs index 3d2a17ecc..4e45adc07 100644 --- a/cli/tests/integration/compile_tests.rs +++ b/cli/tests/integration/compile_tests.rs @@ -105,9 +105,12 @@ fn standalone_error() { assert!(!output.status.success()); assert_eq!(output.stdout, b""); let stderr = String::from_utf8(output.stderr).unwrap(); + let stderr = util::strip_ansi_codes(&stderr).to_string(); // On Windows, we cannot assert the file path (because '\'). // Instead we just check for relevant output. - assert!(stderr.contains("error: Error: boom!\n at boom (file://")); + assert!(stderr.contains("error: Uncaught Error: boom!")); + assert!(stderr.contains("throw new Error(\"boom!\");")); + assert!(stderr.contains("\n at boom (file://")); assert!(stderr.contains("standalone_error.ts:2:11")); assert!(stderr.contains("at foo (file://")); assert!(stderr.contains("standalone_error.ts:5:5")); @@ -148,9 +151,12 @@ fn standalone_error_module_with_imports() { println!("{:#?}", &output); assert_eq!(output.stdout, b"hello\n"); let stderr = String::from_utf8(output.stderr).unwrap(); + let stderr = util::strip_ansi_codes(&stderr).to_string(); // On Windows, we cannot assert the file path (because '\'). // Instead we just check for relevant output. - assert!(stderr.contains("error: Error: boom!\n at file://")); + assert!(stderr.contains("error: Uncaught Error: boom!")); + assert!(stderr.contains("throw new Error(\"boom!\");")); + assert!(stderr.contains("\n at file://")); assert!(stderr.contains("standalone_error_module_with_imports_2.ts:2:7")); } diff --git a/cli/tests/integration/worker_tests.rs b/cli/tests/integration/worker_tests.rs index 57faaa6d3..63d5ccbd3 100644 --- a/cli/tests/integration/worker_tests.rs +++ b/cli/tests/integration/worker_tests.rs @@ -104,3 +104,9 @@ itest!(worker_terminate_tla_crash { args: "run --quiet --reload workers/terminate_tla_crash.js", output: "workers/terminate_tla_crash.js.out", }); + +itest!(worker_error_event { + args: "run --quiet -A workers/error_event.ts", + output: "workers/error_event.ts.out", + exit_code: 1, +}); diff --git a/cli/tests/testdata/workers/error_event.ts b/cli/tests/testdata/workers/error_event.ts new file mode 100644 index 000000000..f3046178a --- /dev/null +++ b/cli/tests/testdata/workers/error_event.ts @@ -0,0 +1,11 @@ +const worker = new Worker(new URL("error.ts", import.meta.url).href, { + type: "module", +}); +worker.addEventListener("error", (e) => { + console.log({ + "message": e.message, + "filename": e.filename?.slice?.(-100), + "lineno": e.lineno, + "colno": e.colno, + }); +}); diff --git a/cli/tests/testdata/workers/error_event.ts.out b/cli/tests/testdata/workers/error_event.ts.out new file mode 100644 index 000000000..9c075e23e --- /dev/null +++ b/cli/tests/testdata/workers/error_event.ts.out @@ -0,0 +1,13 @@ +error: Uncaught (in worker "") Error: foo + throw new Error("foo"); + ^ + at foo ([WILDCARD]/error.ts:2:9) + at [WILDCARD]/error.ts:5:1 +{ + message: "Uncaught Error: foo", + filename: "[WILDCARD]/error.ts", + lineno: 2, + colno: 9 +} +error: Uncaught (in promise) Error: Unhandled error in child worker. + at [WILDCARD] |
