node/test/parallel/test-uv-errno.js
James M Snell 58831b2f24 uv: improvements to process.binding('uv')
* ensure that UV_... props are constants
* improve error message ... the error message when passing
  in `err >= 0` to `util._errnoException()` was less than
   useful.
* refine uses of process.binding('uv')

PR-URL: https://github.com/nodejs/node/pull/14933
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-08-23 10:51:15 -07:00

32 lines
789 B
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
const util = require('util');
const uv = process.binding('uv');
const keys = Object.keys(uv);
keys.forEach((key) => {
if (key === 'errname')
return;
assert.doesNotThrow(() => {
const err = util._errnoException(uv[key], 'test');
const name = uv.errname(uv[key]);
assert.strictEqual(err.code, err.errno);
assert.strictEqual(err.code, name);
assert.strictEqual(err.message, `test ${name}`);
});
});
[0, 1, 'test', {}, [], Infinity, -Infinity, NaN].forEach((key) => {
common.expectsError(
() => util._errnoException(key),
{
code: 'ERR_INVALID_ARG_TYPE',
type: TypeError,
message: 'The "err" argument must be of type negative number'
});
});