mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 15:24:46 -05:00
30 lines
955 B
TypeScript
30 lines
955 B
TypeScript
// 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));
|
|
});
|