diff options
Diffstat (limited to 'test/bun.js/test_scope_debug.ts')
-rw-r--r-- | test/bun.js/test_scope_debug.ts | 113 |
1 files changed, 111 insertions, 2 deletions
diff --git a/test/bun.js/test_scope_debug.ts b/test/bun.js/test_scope_debug.ts index c1bb6c9fa..9af649552 100644 --- a/test/bun.js/test_scope_debug.ts +++ b/test/bun.js/test_scope_debug.ts @@ -1,4 +1,12 @@ -export function wrap({ test: test_, it: it_, describe: describe_ }) { +export function wrap({ + test: test_, + it: it_, + describe: describe_, + beforeEach: beforeEach_ = undefined, + beforeAll: beforeAll_ = undefined, + afterEach: afterEach_ = undefined, + afterAll: afterAll_ = undefined, +}) { if (it_ === undefined) { it_ = test_; } @@ -58,5 +66,106 @@ export function wrap({ test: test_, it: it_, describe: describe_ }) { ); }; - return { describe, it }; + var beforeEach = (cb) => { + return beforeEach_( + cb instanceof async function () {}.constructor + ? async () => { + console.log(`BEFORE EACH [Enter]`); + try { + return await cb(); + } catch (e) { + throw e; + } finally { + console.log(`BEFORE EACH [Exit]`); + } + } + : () => { + console.log(`BEFORE EACH [Enter]`); + try { + return cb(); + } catch (e) { + throw e; + } finally { + console.log(`BEFORE EACH [Exit]`); + } + } + ); + }; + var beforeAll = (cb) => { + return beforeAll_( + cb instanceof async function () {}.constructor + ? async () => { + console.log(`BEFORE ALL [Enter]`); + try { + return await cb(); + } catch (e) { + throw e; + } finally { + console.log(`BEFORE ALL [Exit]`); + } + } + : () => { + console.log(`BEFORE ALL [Enter]`); + try { + return cb(); + } catch (e) { + throw e; + } finally { + console.log(`BEFORE ALL [Exit]`); + } + } + ); + }; + var afterEach = (cb) => { + return afterEach_( + cb instanceof async function () {}.constructor + ? async () => { + console.log(`AFTER EACH [Enter]`); + try { + return await cb(); + } catch (e) { + throw e; + } finally { + console.log(`AFTER EACH [Exit]`); + } + } + : () => { + console.log(`AFTER EACH [Enter]`); + try { + return cb(); + } catch (e) { + throw e; + } finally { + console.log(`AFTER EACH [Exit]`); + } + } + ); + }; + var afterAll = (cb) => { + return afterAll_( + cb instanceof async function () {}.constructor + ? async () => { + console.log(`AFTER ALL [Enter]`); + try { + return await cb(); + } catch (e) { + throw e; + } finally { + console.log(`AFTER ALL [Exit]`); + } + } + : () => { + console.log(`AFTER ALL [Enter]`); + try { + return cb(); + } catch (e) { + throw e; + } finally { + console.log(`AFTER ALL [Exit]`); + } + } + ); + }; + + return { describe, it, beforeEach, beforeAll, afterEach, afterAll }; } |