aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/@vitest/coverage-v8/dist/browser.js
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
commit76cb9c2a39d477a64824a985ade40507e3bbade1 (patch)
tree41e997aa9c6f538d3a136af61dae9424db2005a9 /vanilla/node_modules/@vitest/coverage-v8/dist/browser.js
parent819a39a21ac992b1393244a4c283bbb125208c69 (diff)
downloadneko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.gz
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.bz2
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.zip
feat(vanilla): add testing infrastructure and tests (NK-wjnczv)
Diffstat (limited to 'vanilla/node_modules/@vitest/coverage-v8/dist/browser.js')
-rw-r--r--vanilla/node_modules/@vitest/coverage-v8/dist/browser.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/vanilla/node_modules/@vitest/coverage-v8/dist/browser.js b/vanilla/node_modules/@vitest/coverage-v8/dist/browser.js
new file mode 100644
index 0000000..a57a3e1
--- /dev/null
+++ b/vanilla/node_modules/@vitest/coverage-v8/dist/browser.js
@@ -0,0 +1,58 @@
+import { cdp } from 'vitest/browser';
+import { l as loadProvider } from './load-provider-CdgAx3rL.js';
+
+const session = cdp();
+let enabled = false;
+const mod = {
+ async startCoverage() {
+ if (enabled) {
+ return;
+ }
+ enabled = true;
+ await session.send("Profiler.enable");
+ await session.send("Profiler.startPreciseCoverage", {
+ callCount: true,
+ detailed: true
+ });
+ },
+ async takeCoverage() {
+ const coverage = await session.send("Profiler.takePreciseCoverage");
+ const result = [];
+ // Reduce amount of data sent over rpc by doing some early result filtering
+ for (const entry of coverage.result) {
+ if (filterResult(entry)) {
+ result.push({
+ ...entry,
+ url: decodeURIComponent(entry.url.replace(window.location.origin, ""))
+ });
+ }
+ }
+ return { result };
+ },
+ stopCoverage() {
+ // Browser mode should not stop coverage as same V8 instance is shared between tests
+ },
+ async getProvider() {
+ return loadProvider();
+ }
+};
+function filterResult(coverage) {
+ if (!coverage.url.startsWith(window.location.origin)) {
+ return false;
+ }
+ if (coverage.url.includes("/node_modules/")) {
+ return false;
+ }
+ if (coverage.url.includes("__vitest_browser__")) {
+ return false;
+ }
+ if (coverage.url.includes("__vitest__/assets")) {
+ return false;
+ }
+ if (coverage.url === window.location.href) {
+ return false;
+ }
+ return true;
+}
+
+export { mod as default };