mirror of
https://github.com/zebrajr/node.git
synced 2025-12-06 12:20:27 +01:00
This makes sure the input arguments get validated so implementation errors will be caught early. It also improves a couple of error messages by providing more detailed information and fixes errors detected by the new functionality. Besides that a error type got simplified and tests got refactored. PR-URL: https://github.com/nodejs/node/pull/19924 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
63 lines
1.4 KiB
JavaScript
63 lines
1.4 KiB
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const tty = require('tty');
|
|
const uv = process.binding('uv');
|
|
const assert = require('assert');
|
|
|
|
assert.throws(
|
|
() => new tty.WriteStream(-1),
|
|
{
|
|
code: 'ERR_INVALID_FD',
|
|
name: 'RangeError [ERR_INVALID_FD]',
|
|
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.UV_EBADF : uv.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 [ERR_TTY_INIT_FAILED]',
|
|
message,
|
|
info
|
|
}
|
|
);
|
|
|
|
assert.throws(
|
|
() => {
|
|
common.runWithInvalidFD((fd) => {
|
|
new tty.ReadStream(fd);
|
|
});
|
|
}, {
|
|
code: 'ERR_TTY_INIT_FAILED',
|
|
name: 'SystemError [ERR_TTY_INIT_FAILED]',
|
|
message,
|
|
info
|
|
});
|
|
}
|
|
|
|
assert.throws(
|
|
() => new tty.ReadStream(-1),
|
|
{
|
|
code: 'ERR_INVALID_FD',
|
|
name: 'RangeError [ERR_INVALID_FD]',
|
|
message: '"fd" must be a positive integer: -1'
|
|
}
|
|
);
|