1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-29 02:29:06 -05:00
denoland-deno/core/runtime/error_builder_test.js
Matt Mastracci ec8e9d4f5b
chore(core): Refactor runtime and split out tests (#19491)
This is a quick first refactoring to split the tests out of runtime and
move runtime-related code to a top-level runtime module.

There will be a followup to refactor imports a bit, but this is the
major change that will most likely conflict with other work and I want
to merge it early.
2023-06-14 02:03:10 +00:00

32 lines
732 B
JavaScript

// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
const { core } = Deno;
const { ops } = core;
class DOMException {
constructor(message, code) {
this.msg = message;
this.code = code;
}
}
core.registerErrorBuilder(
"DOMExceptionOperationError",
function DOMExceptionOperationError(msg) {
return new DOMException(msg, "OperationError");
},
);
try {
ops.op_err();
throw new Error("op_err didn't throw!");
} catch (err) {
if (!(err instanceof DOMException)) {
throw new Error("err not DOMException");
}
if (err.msg !== "abc") {
throw new Error("err.message is incorrect");
}
if (err.code !== "OperationError") {
throw new Error("err.code is incorrect");
}
}