UNPKG

koffi

Version:

Fast and simple C FFI (foreign function interface) for Node.js

30 lines (25 loc) 843 B
'use strict'; const assert = require('assert'); module.exports = require('./common').runTest((binding) => { test(binding.errorHandlingPrim); }); function canThrow (binding, errorMessage, errorType) { try { binding.errorHandlingPrim(() => { throw errorMessage; }); } catch (e) { // eslint-disable-next-line valid-typeof assert(typeof e === errorType); assert(e === errorMessage); } } function test (binding) { canThrow(binding, '404 server not found!', 'string'); canThrow(binding, 42, 'number'); canThrow(binding, Symbol.for('newSym'), 'symbol'); canThrow(binding, false, 'boolean'); canThrow(binding, BigInt(123), 'bigint'); canThrow(binding, () => { console.log('Logger shutdown incorrectly'); }, 'function'); canThrow(binding, { status: 403, errorMsg: 'Not authenticated' }, 'object'); }