Skip to content

Commit 4c2ad11

Browse files
Merge branch 'develop' into issue-7955-overwrite-existing-screenshots
2 parents 533b73a + cb5eeec commit 4c2ad11

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

packages/driver/cypress/integration/e2e/uncaught_errors_spec.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,23 @@ describe('uncaught errors', () => {
175175
}).get('button:first').click()
176176
})
177177

178+
it('does not fail if thrown custom error with readonly name', (done) => {
179+
cy.once('fail', (err) => {
180+
expect(err.name).to.include('CustomError')
181+
expect(err.message).to.include('custom error')
182+
183+
done()
184+
})
185+
186+
cy.then(() => {
187+
throw new class CustomError extends Error {
188+
get name () {
189+
return 'CustomError'
190+
}
191+
}('custom error')
192+
})
193+
})
194+
178195
it('fails test based on an uncaught error after last command and before completing', (done) => {
179196
cy.on('fail', () => {
180197
done()

packages/driver/src/cypress/command_queue.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -343,9 +343,10 @@ export default {
343343

344344
// since this failed this means that a specific command failed
345345
// and we should highlight it in red or insert a new command
346-
if (_.isObject(err)) {
346+
// @ts-ignore
347+
if (_.isObject(err) && !err.name) {
347348
// @ts-ignore
348-
err.name = err.name || 'CypressError'
349+
err.name = 'CypressError'
349350
}
350351

351352
commandRunningFailed(Cypress, state, err)

0 commit comments

Comments
 (0)