function _isExpectedError(error, errno, code) {
  return IS_WIN32 ? error.code === code : error.code === code && error.errno === errno;
}
Helper to determine whether the expected error code matches the actual code and errno,
which will differ between the supported node versions.

- Node >= 7.0:
  error.code {string}
  error.errno {number} any numerical value will be negated

CAVEAT

On windows, the errno for EBADF is -4083 but os.constants.errno.EBADF is different and we must assume that ENOENT
is no different here.

@param {SystemError} error
@param {number} errno
@param {string} code
@private