23 lines
687 B
JavaScript
23 lines
687 B
JavaScript
|
'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
|
||
|
});
|
||
|
});
|