Skip to content

Commit f84bac5

Browse files
fix(driver): update wrapErr to ignore number and boolean values (#20172)
Co-authored-by: Emily Rohrbough <[email protected]>
1 parent 1e6f51a commit f84bac5

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

packages/driver/cypress/integration/cypress/error_utils_spec.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -622,4 +622,18 @@ describe('driver/src/cypress/error_utils', () => {
622622
expect(stack).not.to.include('removeMeAndAbove')
623623
})
624624
})
625+
626+
context('.wrapErr', () => {
627+
[
628+
{ value: undefined, label: 'undefined' },
629+
{ value: null, label: 'null' },
630+
{ value: '', label: 'empty string' },
631+
{ value: true, label: 'boolean' },
632+
{ value: 1, label: 'number' },
633+
].forEach((err) => {
634+
it(`returns undefined if err is ${err.label}`, () => {
635+
expect($errUtils.wrapErr(err.value)).to.be.undefined
636+
})
637+
})
638+
})
625639
})

packages/driver/src/cypress/error_utils.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,14 @@ const prepareErrorForSerialization = (err) => {
5252
return err
5353
}
5454

55+
// some errors, probably from user callbacks, might be boolean, number or falsy values
56+
// which means serializing will not provide any useful context
57+
const isSerializableError = (err) => {
58+
return !!err && (typeof err === 'object' || typeof err === 'string')
59+
}
60+
5561
const wrapErr = (err) => {
56-
if (!err) return
62+
if (!isSerializableError(err)) return
5763

5864
prepareErrorForSerialization(err)
5965

0 commit comments

Comments
 (0)