import { expect } from 'tstyche' import { createDeprecation, createWarning, spyWarning, WarningCallData, WarningSpyData } from '..' const WarnInstance = createWarning({ name: 'TypeScriptWarning', code: 'CODE', message: 'message' }) expect(WarnInstance.code).type.toBe() expect(WarnInstance.message).type.toBe() expect(WarnInstance.name).type.toBe() expect(WarnInstance.emitted).type.toBe() expect(WarnInstance.unlimited).type.toBe() expect(WarnInstance()).type.toBe() expect(WarnInstance('foo')).type.toBe() expect(WarnInstance('foo', 'bar')).type.toBe() const buildWarnUnlimited = createWarning({ name: 'TypeScriptWarning', code: 'CODE', message: 'message', unlimited: true }) expect(buildWarnUnlimited.unlimited).type.toBe() const DeprecationInstance = createDeprecation({ code: 'CODE', message: 'message' }) expect(DeprecationInstance.code).type.toBe() expect(DeprecationInstance()).type.toBe() expect(DeprecationInstance('foo')).type.toBe() expect(DeprecationInstance('foo', 'bar')).type.toBe() const spyData = spyWarning(WarnInstance) expect(spyData).type.toBe() expect(spyData.calls).type.toBe() expect(spyData.callCount).type.toBe<(() => number)>() expect(spyData.callCount()).type.toBe() expect(spyData.reset).type.toBe<(() => void)>() expect(spyData.reset()).type.toBe() expect(spyData.restore).type.toBe<(() => void)>() expect(spyData.restore()).type.toBe()