// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. import { assert, assertEquals, assertNotEquals, assertStringIncludes, } from "./test_util.ts"; Deno.test(function customInspectFunction() { const exception = new DOMException("test"); assertEquals(Deno.inspect(exception), exception.stack); assertStringIncludes(Deno.inspect(DOMException.prototype), "DOMException"); }); Deno.test(function nameToCodeMappingPrototypeAccess() { const newCode = 100; const objectPrototype = Object.prototype as unknown as { pollution: number; }; objectPrototype.pollution = newCode; assertNotEquals(newCode, new DOMException("test", "pollution").code); Reflect.deleteProperty(objectPrototype, "pollution"); }); Deno.test(function callSitesEvalsDoesntThrow() { const e2 = new DOMException("asdf"); // @ts-ignore no types for `__callSiteEvals` but it's observable. assert(Array.isArray(e2.__callSiteEvals)); });