].forEach(x => { test(`util.forOwn(${insp(x)}, fn)`, () => { const keys = Object.keys(x); const fn = spy(); assert.equal(util.forOwn(x, fn), undefined); assert.equal(fn.calls.length, keys.length); fn.calls.forEach((call, idx) => { assert.equal(call.args[1], keys[idx]); assert.equal(call.args[0], x[keys[idx]]); }); }); });
].forEach(x => { test(`util.forOwn(${insp(x)}, fn) throws`, () => { const fn = spy(); assert.throws(() => util.forOwn(x, fn)); }); });