@web/test-runner-playwright
Advanced tools
Comparing version
# @web/test-runner-playwright | ||
## 0.4.7 | ||
### Patch Changes | ||
- 6bcf981: correctly map pages to browsers | ||
## 0.4.6 | ||
@@ -4,0 +10,0 @@ |
@@ -20,6 +20,6 @@ "use strict"; | ||
const debugPages = new Map(); | ||
const inactivePages = []; | ||
const inactivePagesPerBrowser = new Map(); | ||
// playwright does not indicate whether coverage is enabled, so we track it here | ||
const pagesWithCoverageEnabled = new WeakSet(); | ||
const cachedCoverage = new WeakMap(); | ||
const cachedCoverages = new WeakMap(); | ||
let config; | ||
@@ -40,2 +40,3 @@ let testFiles; | ||
browsers.set(name, browser); | ||
inactivePagesPerBrowser.set(name, []); | ||
} | ||
@@ -65,2 +66,3 @@ return browserNames; | ||
} | ||
const inactivePages = inactivePagesPerBrowser.get(session.browserName); | ||
let page; | ||
@@ -75,3 +77,3 @@ if (inactivePages.length === 0) { | ||
pagesWithCoverageEnabled.add(page); | ||
cachedCoverage.delete(page); | ||
cachedCoverages.delete(page); | ||
await ((_a = page.coverage) === null || _a === void 0 ? void 0 : _a.startJSCoverage()); | ||
@@ -87,17 +89,22 @@ } | ||
activePages.delete(session.id); | ||
inactivePages.push(page); | ||
inactivePagesPerBrowser.get(session.browserName).push(page); | ||
} | ||
}, | ||
async getTestCoverage() { | ||
const coverages = await Promise.all(inactivePages.map(page => { | ||
if (pagesWithCoverageEnabled.has(page)) { | ||
pagesWithCoverageEnabled.delete(page); | ||
return getPageCoverage(config, testFiles, page).then(coverage => { | ||
cachedCoverage.set(page, coverage); | ||
return coverage; | ||
}); | ||
const coverages = []; | ||
for (const inactivePages of inactivePagesPerBrowser.values()) { | ||
for (const page of inactivePages) { | ||
if (pagesWithCoverageEnabled.has(page)) { | ||
pagesWithCoverageEnabled.delete(page); | ||
const coverage = await getPageCoverage(config, testFiles, page); | ||
cachedCoverages.set(page, coverage); | ||
coverages.push(coverage); | ||
} | ||
const cachedCoverage = cachedCoverages.get(page); | ||
if (cachedCoverage) { | ||
coverages.push(cachedCoverage); | ||
} | ||
} | ||
return cachedCoverage.get(page); | ||
})); | ||
return coverages.filter(c => !!c); | ||
} | ||
return Promise.all(coverages); | ||
}, | ||
@@ -104,0 +111,0 @@ async startDebugSession(session, url) { |
{ | ||
"name": "@web/test-runner-playwright", | ||
"version": "0.4.6", | ||
"version": "0.4.7", | ||
"publishConfig": { | ||
@@ -5,0 +5,0 @@ "access": "public" |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
15937
4.88%140
5.26%