From 29a075de2b625e1c893f6fad163a6d6937894a7a Mon Sep 17 00:00:00 2001 From: ud2 Date: Wed, 5 Jun 2024 07:09:13 +0800 Subject: chore(ext/web): use `Error.captureStackTrace` in `DOMException` constructor (#23986) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes `DOMException`'s `stack` property behave the same as native errors' – `stack` is now an own accessor property on every instance, and the getter calls `Error.prepareStackTrace`. Upgrades `deno_core` to 0.284.0. --------- Co-authored-by: Bartek Iwańczuk --- tests/unit/dom_exception_test.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'tests/unit') diff --git a/tests/unit/dom_exception_test.ts b/tests/unit/dom_exception_test.ts index 806248caa..4e894f5fc 100644 --- a/tests/unit/dom_exception_test.ts +++ b/tests/unit/dom_exception_test.ts @@ -23,8 +23,10 @@ Deno.test(function nameToCodeMappingPrototypeAccess() { Reflect.deleteProperty(objectPrototype, "pollution"); }); -Deno.test(function callSitesEvalsDoesntThrow() { +Deno.test(function hasStackAccessor() { const e2 = new DOMException("asdf"); - // @ts-ignore no types for `__callSiteEvals` but it's observable. - assert(Array.isArray(e2.__callSiteEvals)); + const desc = Object.getOwnPropertyDescriptor(e2, "stack"); + assert(desc); + assert(typeof desc.get === "function"); + assert(typeof desc.set === "function"); }); -- cgit v1.2.3