1'use strict'; 2require('../common'); 3const assert = require('assert'); 4const fs = require('fs'); 5const callbackThrowValues = [null, true, false, 0, 1, 'foo', /foo/, [], {}]; 6 7const { sep } = require('path'); 8 9const tmpdir = require('../common/tmpdir'); 10tmpdir.refresh(); 11 12function testMakeCallback(cb) { 13 return function() { 14 // fs.mkdtemp() calls makeCallback() on its third argument 15 fs.mkdtemp(`${tmpdir.path}${sep}`, {}, cb); 16 }; 17} 18 19function invalidCallbackThrowsTests() { 20 callbackThrowValues.forEach((value) => { 21 assert.throws(testMakeCallback(value), { 22 code: 'ERR_INVALID_ARG_TYPE', 23 name: 'TypeError' 24 }); 25 }); 26} 27 28invalidCallbackThrowsTests(); 29