import test from 'ava'; import m from '..'; test('function', t => { t.notThrows(() => m(() => {}, m.function)); // tslint:disable-line:no-empty t.notThrows(() => m(() => {}, m.function.label('foo'))); // tslint:disable-line:no-empty t.throws(() => m('foo' as any, m.function), 'Expected argument to be of type `Function` but received type `string`'); t.throws(() => m('foo' as any, m.function.label('foo')), 'Expected `foo` to be of type `Function` but received type `string`'); t.throws(() => m(12 as any, m.function), 'Expected argument to be of type `Function` but received type `number`'); });