node/test/parallel/test-ttywrap-invalid-fd.js
Ruben Bridgewater 1ed3c54ecb
errors: update error name
This updates all Node.js errors by removing the `code` being part
of the `name` property. Instead, the name is just changed once on
instantiation, the stack is accessed to create the stack as expected
and then the `name` property is set back to it's original form.

PR-URL: https://github.com/nodejs/node/pull/26738
Fixes: https://github.com/nodejs/node/issues/26669
Fixes: https://github.com/nodejs/node/issues/20253
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2019-03-23 02:55:54 +01:00

68 lines
1.4 KiB
JavaScript

// Flags: --expose-internals
'use strict';
const common = require('../common');
const tty = require('tty');
const { internalBinding } = require('internal/test/binding');
const {
UV_EBADF,
UV_EINVAL
} = internalBinding('uv');
const assert = require('assert');
assert.throws(
() => new tty.WriteStream(-1),
{
code: 'ERR_INVALID_FD',
name: 'RangeError',
message: '"fd" must be a positive integer: -1'
}
);
{
const info = {
code: common.isWindows ? 'EBADF' : 'EINVAL',
message: common.isWindows ? 'bad file descriptor' : 'invalid argument',
errno: common.isWindows ? UV_EBADF : UV_EINVAL,
syscall: 'uv_tty_init'
};
const suffix = common.isWindows ?
'EBADF (bad file descriptor)' : 'EINVAL (invalid argument)';
const message = `TTY initialization failed: uv_tty_init returned ${suffix}`;
assert.throws(
() => {
common.runWithInvalidFD((fd) => {
new tty.WriteStream(fd);
});
}, {
code: 'ERR_TTY_INIT_FAILED',
name: 'SystemError',
message,
info
}
);
assert.throws(
() => {
common.runWithInvalidFD((fd) => {
new tty.ReadStream(fd);
});
}, {
code: 'ERR_TTY_INIT_FAILED',
name: 'SystemError',
message,
info
});
}
assert.throws(
() => new tty.ReadStream(-1),
{
code: 'ERR_INVALID_FD',
name: 'RangeError',
message: '"fd" must be a positive integer: -1'
}
);