From 78595d131787923e1db8b4e785b11bf516239b3c Mon Sep 17 00:00:00 2001 From: Cameron Little Date: Sun, 16 Aug 2020 12:37:11 +0200 Subject: [PATCH] wip: modify wrappers --- packages/jest-jasmine2/src/index.ts | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/packages/jest-jasmine2/src/index.ts b/packages/jest-jasmine2/src/index.ts index 477114c8b6cb..6c8adb3cf85e 100644 --- a/packages/jest-jasmine2/src/index.ts +++ b/packages/jest-jasmine2/src/index.ts @@ -13,7 +13,6 @@ import type {SnapshotStateType} from 'jest-snapshot'; import type {RuntimeType as Runtime} from 'jest-runtime'; import {getCallsite} from '@jest/source-map'; -import {unlink} from 'graceful-fs'; import installEach from './each'; import {installErrorOnPrivate} from './errorOnPrivate'; import JasmineReporter from './reporter'; @@ -48,10 +47,14 @@ async function jasmine2( // TODO: Remove config option if V8 exposes some way of getting location of caller // in a future version if (config.testLocationInResults === true) { - function wrapIt(original: (...args: Array) => unknown) { - return (...args: Array) => { + function wrapIt(original: T): T { + const wrapped = ( + testName: Global.TestName, + fn: Global.TestFn, + timeout?: number, + ) => { let stack = getCallsite(1, runtime.getSourceMaps()); - const it = original(...args); + const it = original(testName, fn, timeout); if (stack.getFileName()?.includes('/jest-each/')) { stack = getCallsite(4, runtime.getSourceMaps()); @@ -61,19 +64,12 @@ async function jasmine2( return it; }; + return (wrapped as any) as T; } - environment.global.it = wrapIt( - environment.global.it, - ) as Global.Global['it']; - - environment.global.it = wrapIt( - environment.global.xit, - ) as Global.Global['xit']; - - environment.global.fit = wrapIt( - environment.global.fit, - ) as Global.Global['fit']; + environment.global.it = wrapIt(environment.global.it); + environment.global.xit = wrapIt(environment.global.xit); + environment.global.fit = wrapIt(environment.global.fit); } jasmineAsyncInstall(globalConfig, environment.global);