New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

codeceptjs-monocart-coverage

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

codeceptjs-monocart-coverage - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

125

lib/index.js
const {
container, recorder, event
} = require('codeceptjs');
const { CoverageReport } = require('monocart-coverage-reports');
const { CoverageReport, CDPClient } = require('monocart-coverage-reports');

@@ -24,47 +24,62 @@ /**

Playwright: {
startCoverage: async (page) => {
await Promise.all([
page.coverage.startJSCoverage({
resetOnNavigation: false
}),
page.coverage.startCSSCoverage({
resetOnNavigation: false
})
]);
},
takeCoverage: async (page, coverageReport) => {
const [jsCoverage, cssCoverage] = await Promise.all([
page.coverage.stopJSCoverage(),
page.coverage.stopCSSCoverage()
]);
const coverageList = [... jsCoverage, ... cssCoverage];
await coverageReport.add(coverageList);
startCoverage: async (helper) => {
const page = helper.page;
if (!page || !page.coverage) {
// Coverage APIs are only supported on Chromium-based browsers
return;
}
const session = await page.context().newCDPSession(page);
const coverageClient = await CDPClient({
session
});
// both js and css coverage
await coverageClient.startCoverage();
return coverageClient;
}
},
Puppeteer: {
startCoverage: async (page) => {
await Promise.all([
page.coverage.startJSCoverage({
resetOnNavigation: false,
includeRawScriptCoverage: true
}),
page.coverage.startCSSCoverage({
resetOnNavigation: false
})
]);
},
takeCoverage: async (page, coverageReport) => {
const [jsCoverage, cssCoverage] = await Promise.all([
page.coverage.stopJSCoverage(),
page.coverage.stopCSSCoverage()
]);
// to raw V8 script coverage
const coverageList = [... jsCoverage.map((it) => {
return {
source: it.text,
... it.rawScriptCoverage
};
}), ... cssCoverage];
await coverageReport.add(coverageList);
startCoverage: async (helper) => {
const page = helper.page;
if (!page || !page.coverage) {
// Coverage APIs are only supported on Chromium-based browsers
return;
}
const session = await page.target().createCDPSession();
const coverageClient = await CDPClient({
session
});
// both js and css coverage
await coverageClient.startCoverage();
return coverageClient;
}
},
WebDriver: {
startCoverage: async (helper) => {
// WebDriver to puppeteer API
const puppeteer = await helper.browser.getPuppeteer();
// console.log(helper);
if (!puppeteer) {
return;
}
const page = (await puppeteer.pages())[0];
if (!page || !page.coverage) {
// Coverage APIs are only supported on Chromium-based browsers
return;
}
const session = await page.target().createCDPSession();
const coverageClient = await CDPClient({
session
});
// both js and css coverage
await coverageClient.startCoverage();
return coverageClient;
}
}

@@ -75,3 +90,3 @@ };

const helpers = container.helpers();
let coverageRunning = false;
let coverageClient;

@@ -96,2 +111,3 @@ const v8Names = Object.keys(v8CoverageHelpers);

event.dispatcher.on(event.all.after, async () => {
// console.log(`generate coverage =================== ${helperName}`);
await coverageReport.generate();

@@ -104,10 +120,7 @@ });

recorder.add('start coverage', async () => {
if (coverageRunning) {
if (coverageClient) {
return;
}
if (!helper.page || !helper.page.coverage) {
return;
}
coverageRunning = true;
await v8Helper.startCoverage(helper.page);
// console.log(`start coverage =================== ${helperName}`);
coverageClient = await v8Helper.startCoverage(helper);
}, true);

@@ -118,13 +131,13 @@ });

event.dispatcher.on(event.test.after, (test) => {
recorder.add('take coverage', async () => {
if (!coverageRunning) {
recorder.add('stop coverage', async () => {
if (!coverageClient) {
return;
}
if (!helper.page || !helper.page.coverage) {
return;
}
coverageRunning = false;
await v8Helper.takeCoverage(helper.page, coverageReport);
// console.log(`stop coverage =================== ${helperName}`);
const coverageData = await coverageClient.stopCoverage();
await coverageClient.close();
coverageClient = null;
await coverageReport.add(coverageData);
}, true);
});
};
{
"name": "codeceptjs-monocart-coverage",
"version": "1.0.0",
"version": "1.0.1",
"description": "CodeceptJS Monocart Coverage Reports",

@@ -26,12 +26,13 @@ "main": "lib/index.js",

"dependencies": {
"monocart-coverage-reports": "^2.5.7"
"monocart-coverage-reports": "^2.7.8"
},
"devDependencies": {
"codeceptjs": "^3.5.14",
"codeceptjs": "^3.5.15",
"eslint": "^8.57.0",
"eslint-config-plus": "^1.0.6",
"eslint-plugin-codeceptjs": "^1.3.0",
"playwright": "^1.41.2",
"puppeteer": "^22.2.0"
"playwright": "^1.42.1",
"puppeteer": "^22.6.1",
"webdriverio": "^8.35.1"
}
}

@@ -39,2 +39,6 @@ # codeceptjs-monocart-coverage

// }
// WebDriver: {
// url: 'http://localhost',
// browser: 'chrome'
// }
}

@@ -41,0 +45,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc