diff --git a/packages/eslint-plugin/tests/rules/no-misused-promises.test.ts b/packages/eslint-plugin/tests/rules/no-misused-promises.test.ts index df786e886b4..1cc0576fb30 100644 --- a/packages/eslint-plugin/tests/rules/no-misused-promises.test.ts +++ b/packages/eslint-plugin/tests/rules/no-misused-promises.test.ts @@ -273,6 +273,34 @@ interface ItLike { declare const it: ItLike; +it('', async () => {}); + `, + }, + { + code: ` +interface ItLike { + (name: string, callback: () => void): void; +} +interface ItLike { + (name: string, callback: () => Promise): void; +} + +declare const it: ItLike; + +it('', async () => {}); + `, + }, + { + code: ` +interface ItLike { + (name: string, callback: () => Promise): void; +} +interface ItLike { + (name: string, callback: () => void): void; +} + +declare const it: ItLike; + it('', async () => {}); `, }, @@ -729,5 +757,45 @@ it('', async () => {}); }, ], }, + { + code: ` +interface ItLike { + (name: string, callback: () => number): void; +} +interface ItLike { + (name: string, callback: () => void): void; +} + +declare const it: ItLike; + +it('', async () => {}); + `, + errors: [ + { + line: 11, + messageId: 'voidReturnArgument', + }, + ], + }, + { + code: ` +interface ItLike { + (name: string, callback: () => void): void; +} +interface ItLike { + (name: string, callback: () => number): void; +} + +declare const it: ItLike; + +it('', async () => {}); + `, + errors: [ + { + line: 11, + messageId: 'voidReturnArgument', + }, + ], + }, ], });