diff --git a/spec/coverage/reporter.js b/spec/coverage/reporter.js index 8593b29f4c..2b7496270f 100644 --- a/spec/coverage/reporter.js +++ b/spec/coverage/reporter.js @@ -80,6 +80,13 @@ const getCoverageFromWebContents = (webContents, callback) => { }) } +const saveWebContentsCoverage = (webContents, callback) => { + getCoverageFromWebContents(webContents, (coverage, pid) => { + saveCoverageData(webContents, coverage, pid) + callback() + }) +} + // Save coverage data when a BrowserWindow is closed manually const patchBrowserWindow = () => { const {BrowserWindow} = require('electron') @@ -90,9 +97,14 @@ const patchBrowserWindow = () => { return destroy.call(this) } - getCoverageFromWebContents(this.webContents, (coverage, pid) => { - saveCoverageData(this.webContents, coverage, pid) - destroy.call(this) + saveWebContentsCoverage(this.webContents, () => { + if (this.devToolsWebContents) { + saveWebContentsCoverage(this.devToolsWebContents, () => { + destroy.call(this) + }) + } else { + destroy.call(this) + } }) } }