23 lines
687 B
JavaScript
Raw Normal View History

2025-04-28 12:25:20 +08:00
'use strict';
const assert = require('assert');
const ref = require('ref-napi');
const ffi = require('../');
const errno = ffi.errno;
describe('errno()', function () {
afterEach(global.gc);
it('should be a function', function () {
assert.strictEqual('function', typeof errno);
});
it('should set the errno with out-of-range "strtoul" value', function () {
const lib = process.platform == 'win32' ? 'msvcrt' : 'libc';
const strtoul = new ffi.Library(lib, {
'strtoul': [ 'ulong', [ 'string', 'string', 'int' ] ]
}).strtoul;
strtoul('1234567890123456789012345678901234567890', null, 0);
assert.strictEqual(34, errno()); // errno == ERANGE
});
});