mirror of
https://github.com/nodejs/node.git
synced 2025-05-01 08:42:45 +00:00

libuv does not map 100% of errors. When an unmapped error is encountered, the Map returns undefined, which is then unsuccessfully destructured, causing an exception. This commit adds a default value in the event of an unmapped error. PR-URL: https://github.com/nodejs/node/pull/29288 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
27 lines
894 B
JavaScript
27 lines
894 B
JavaScript
// Flags: --expose-internals
|
|
'use strict';
|
|
require('../common');
|
|
const assert = require('assert');
|
|
const { uvException, uvExceptionWithHostPort } = require('internal/errors');
|
|
|
|
{
|
|
const exception = uvException({ errno: 100, syscall: 'open' });
|
|
|
|
assert.strictEqual(exception.message, 'UNKNOWN: unknown error, open');
|
|
assert.strictEqual(exception.errno, 100);
|
|
assert.strictEqual(exception.syscall, 'open');
|
|
assert.strictEqual(exception.code, 'UNKNOWN');
|
|
}
|
|
|
|
{
|
|
const exception = uvExceptionWithHostPort(100, 'listen', '127.0.0.1', 80);
|
|
|
|
assert.strictEqual(exception.message,
|
|
'listen UNKNOWN: unknown error 127.0.0.1:80');
|
|
assert.strictEqual(exception.code, 'UNKNOWN');
|
|
assert.strictEqual(exception.errno, 100);
|
|
assert.strictEqual(exception.syscall, 'listen');
|
|
assert.strictEqual(exception.address, '127.0.0.1');
|
|
assert.strictEqual(exception.port, 80);
|
|
}
|