From d0f5cd6a069e6a416e58b4ece456d134135b11d3 Mon Sep 17 00:00:00 2001 From: Aaron O'Mullan Date: Sun, 8 May 2022 18:03:00 -0300 Subject: fix(core): avoid panic on non-string Error.name (#14529) Fixes #14518 --- cli/tests/integration/run_tests.rs | 6 ++++++ cli/tests/testdata/error_name_non_string.js | 8 ++++++++ cli/tests/testdata/error_name_non_string.js.out | 4 ++++ 3 files changed, 18 insertions(+) create mode 100644 cli/tests/testdata/error_name_non_string.js create mode 100644 cli/tests/testdata/error_name_non_string.js.out (limited to 'cli') diff --git a/cli/tests/integration/run_tests.rs b/cli/tests/integration/run_tests.rs index 09c09d103..d2f11499b 100644 --- a/cli/tests/integration/run_tests.rs +++ b/cli/tests/integration/run_tests.rs @@ -2779,3 +2779,9 @@ itest!(spawn_stdout_inherit { args: "run --quiet --unstable -A spawn_stdout_inherit.ts", output: "spawn_stdout_inherit.ts.out", }); + +itest!(error_name_non_string { + args: "run --quiet error_name_non_string.js", + output: "error_name_non_string.js.out", + exit_code: 1, +}); diff --git a/cli/tests/testdata/error_name_non_string.js b/cli/tests/testdata/error_name_non_string.js new file mode 100644 index 000000000..ae9609927 --- /dev/null +++ b/cli/tests/testdata/error_name_non_string.js @@ -0,0 +1,8 @@ +class ErrorNameNonString extends Error { + constructor() { + super(); + this.name = 42; + } +} + +throw new ErrorNameNonString(); diff --git a/cli/tests/testdata/error_name_non_string.js.out b/cli/tests/testdata/error_name_non_string.js.out new file mode 100644 index 000000000..a77f336e9 --- /dev/null +++ b/cli/tests/testdata/error_name_non_string.js.out @@ -0,0 +1,4 @@ +error: Uncaught Error +throw new ErrorNameNonString(); + ^ + at file:///[WILDCARD]/error_name_non_string.js:[WILDCARD] -- cgit v1.2.3