Skip to content

Commit

Permalink
fix: only apply bail when not already applied
Browse files Browse the repository at this point in the history
  • Loading branch information
thetutlage committed Jan 4, 2025
1 parent 7267bcf commit 14b1f8e
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
8 changes: 5 additions & 3 deletions src/group/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ export class Group<Context extends Record<any, any>> extends Macroable {
#emitter: Emitter
#refiner: Refiner
#failed: boolean = false
#bail: boolean = false
#bail?: boolean

/**
* Reference to registered hooks
Expand Down Expand Up @@ -135,7 +135,9 @@ export class Group<Context extends Record<any, any>> extends Macroable {
* test fails
*/
bail(toggle: boolean = true) {
this.#bail = toggle
if (this.#bail === undefined) {
this.#bail = toggle
}
return this
}

Expand Down Expand Up @@ -208,7 +210,7 @@ export class Group<Context extends Record<any, any>> extends Macroable {
}

const runner = new GroupRunner(this, this.#hooks, this.#emitter, {
bail: this.#bail,
bail: this.#bail ?? false,
})

await runner.run()
Expand Down
10 changes: 6 additions & 4 deletions src/suite/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export class Suite<Context extends Record<any, any>> extends Macroable {
#refiner: Refiner
#emitter: Emitter
#failed: boolean = false
#bail: boolean = false
#bail?: boolean

/**
* Reference to registered hooks
Expand Down Expand Up @@ -128,8 +128,10 @@ export class Suite<Context extends Record<any, any>> extends Macroable {
* test fails
*/
bail(toggle: boolean = true) {
this.#bail = toggle
this.onGroup((group) => group.bail(toggle))
if (this.#bail === undefined) {
this.#bail = toggle
this.onGroup((group) => group.bail(toggle))
}
return this
}

Expand Down Expand Up @@ -178,7 +180,7 @@ export class Suite<Context extends Record<any, any>> extends Macroable {
}

const runner = new SuiteRunner(this, this.#hooks, this.#emitter, {
bail: this.#bail,
bail: this.#bail ?? false,
})
await runner.run()
this.#failed = runner.failed
Expand Down

0 comments on commit 14b1f8e

Please sign in to comment.