1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-21 06:44:45 -05:00
denoland-deno/tests/node_compat/test/parallel/test-diagnostics-channel-safe-subscriber-errors.js

37 lines
899 B
JavaScript
Raw Normal View History

// deno-fmt-ignore-file
// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.
// Taken from Node 20.11.1
// This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually.
'use strict';
const common = require('../common');
const dc = require('diagnostics_channel');
const assert = require('assert');
const input = {
foo: 'bar'
};
const channel = dc.channel('fail');
const error = new Error('nope');
process.on('uncaughtException', common.mustCall((err) => {
assert.strictEqual(err, error);
}));
channel.subscribe(common.mustCall((message, name) => {
throw error;
}));
// The failing subscriber should not stop subsequent subscribers from running
channel.subscribe(common.mustCall());
// Publish should continue without throwing
const fn = common.mustCall();
channel.publish(input);
fn();