@duckduckgo/autoconsent 16.50.0 → 16.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/optimize-button-patterns/SKILL.md +4 -4
- package/.github/workflows/ddg-release.yml +2 -2
- package/AGENTS.md +2 -1
- package/CHANGELOG.md +120 -0
- package/build.sh +2 -0
- package/data/labelled-button-texts.csv +36 -36
- package/dist/addon-firefox/compact-rules.json +1 -1
- package/dist/addon-firefox/content.bundle.js +52 -42
- package/dist/addon-firefox/manifest.json +1 -1
- package/dist/addon-firefox/rule-index.json +1 -1
- package/dist/addon-firefox/rules.json +1 -1
- package/dist/addon-mv3/compact-rules.json +1 -1
- package/dist/addon-mv3/content.bundle.js +52 -42
- package/dist/addon-mv3/manifest.json +1 -1
- package/dist/addon-mv3/rule-index.json +1 -1
- package/dist/addon-mv3/rules.json +1 -1
- package/dist/autoconsent.cjs.js +52 -42
- package/dist/autoconsent.esm.js +52 -42
- package/dist/autoconsent.playwright.js +53 -42
- package/dist/autoconsent.standalone.js +53 -43
- package/dist/heuristics.cjs.js +886 -0
- package/dist/heuristics.mjs +847 -0
- package/dist/types/heuristic-classify.d.ts +16 -0
- package/dist/types/heuristics.d.ts +2 -9
- package/dist/types/types.d.ts +3 -5
- package/docs/rule-syntax.md +1 -1
- package/lib/dom-actions.ts +5 -1
- package/lib/heuristic-classify.ts +136 -0
- package/lib/heuristic-patterns.ts +18 -14
- package/lib/heuristics.ts +3 -124
- package/lib/types.ts +3 -5
- package/lib/web.ts +1 -1
- package/package.json +7 -2
- package/playwright/content.ts +5 -0
- package/readme.md +12 -0
- package/rules/autoconsent/abcacupuncture1.json +34 -0
- package/rules/autoconsent/aceodds.json +13 -0
- package/rules/autoconsent/allabout-japan.json +42 -0
- package/rules/autoconsent/avvio.json +22 -0
- package/rules/autoconsent/axeptio.json +5 -2
- package/rules/autoconsent/bdirect-booking-engine.json +33 -0
- package/rules/autoconsent/berelax.com.json +33 -0
- package/rules/autoconsent/bigid.json +59 -0
- package/rules/autoconsent/bluepark.json +31 -0
- package/rules/autoconsent/burpee-com.json +5 -1
- package/rules/autoconsent/bynder.json +33 -0
- package/rules/autoconsent/cinemaplus.json +9 -0
- package/rules/autoconsent/columbia-privacy-notice.json +32 -0
- package/rules/autoconsent/community.screwfix.com.json +23 -0
- package/rules/autoconsent/complianz-notice.json +1 -1
- package/rules/autoconsent/cookieconsent2-legacy.json +44 -0
- package/rules/autoconsent/cookiesjsr.json +27 -0
- package/rules/autoconsent/copaamerica.json +29 -0
- package/rules/autoconsent/cornerstone-brands.json +51 -0
- package/rules/autoconsent/darkounity.com.json +35 -0
- package/rules/autoconsent/duda-cookie-notification.json +41 -0
- package/rules/autoconsent/endocrine.org.json +35 -0
- package/rules/autoconsent/ezoic.json +2 -2
- package/rules/autoconsent/fis-data-exchange.json +13 -0
- package/rules/autoconsent/getproven.json +33 -0
- package/rules/autoconsent/givedirectly.json +36 -0
- package/rules/autoconsent/godaddy-website-builder-cosmetic.json +13 -0
- package/rules/autoconsent/godaddy-website-builder.json +9 -0
- package/rules/autoconsent/guesty.json +31 -0
- package/rules/autoconsent/gundam-base-entry.json +40 -0
- package/rules/autoconsent/hearst-us.json +1 -1
- package/rules/autoconsent/indy-systems.json +26 -0
- package/rules/autoconsent/ing-nl.json +54 -0
- package/rules/autoconsent/iubenda.json +25 -3
- package/rules/autoconsent/la-becanerie.json +13 -0
- package/rules/autoconsent/lta.json +22 -0
- package/rules/autoconsent/lucrin.json +18 -0
- package/rules/autoconsent/makitatools.json +41 -0
- package/rules/autoconsent/milestone-internet.json +32 -0
- package/rules/autoconsent/mizuno-com.json +13 -0
- package/rules/autoconsent/nhm-ac-uk.json +29 -0
- package/rules/autoconsent/npo-ccm.json +42 -0
- package/rules/autoconsent/opalcollection-com.json +12 -0
- package/rules/autoconsent/orw-cookie-banner.json +42 -0
- package/rules/autoconsent/osf-io.json +29 -0
- package/rules/autoconsent/palace-company.json +13 -0
- package/rules/autoconsent/paytronix.json +30 -0
- package/rules/autoconsent/pigu.json +35 -0
- package/rules/autoconsent/pitt-edu.json +12 -0
- package/rules/autoconsent/pizzapilgrims.co.uk.json +49 -0
- package/rules/autoconsent/podimo.json +73 -0
- package/rules/autoconsent/publicmobile.json +16 -0
- package/rules/autoconsent/quantcast.json +85 -34
- package/rules/autoconsent/rakshaos.json +45 -0
- package/rules/autoconsent/rutjes.json +13 -0
- package/rules/autoconsent/saturdaysnyc.json +33 -0
- package/rules/autoconsent/serpstat-com.json +13 -0
- package/rules/autoconsent/shopquarters.json +41 -0
- package/rules/autoconsent/shopware.json +71 -0
- package/rules/autoconsent/simpleview-cookie-banner.json +27 -0
- package/rules/autoconsent/solvhealth-com.json +12 -0
- package/rules/autoconsent/spermidinelife-us.json +29 -0
- package/rules/autoconsent/squarespace-cookie-banner.json +1 -1
- package/rules/autoconsent/squarespace-cookie-notice.json +29 -0
- package/rules/autoconsent/store2000-fr.json +17 -0
- package/rules/autoconsent/tealium.json +10 -4
- package/rules/autoconsent/tempest-cookie-notice.json +9 -0
- package/rules/autoconsent/termsfeed.json +4 -4
- package/rules/autoconsent/therealest.json +42 -0
- package/rules/autoconsent/tineye.json +35 -0
- package/rules/autoconsent/tk-aerztefuehrer.de.json +18 -0
- package/rules/autoconsent/tplink.json +57 -9
- package/rules/autoconsent/trust360.json +29 -0
- package/rules/autoconsent/up-cookie-consent.json +53 -0
- package/rules/autoconsent/uw-madison-cookieconsent.json +10 -0
- package/rules/autoconsent/vowels.json +13 -0
- package/rules/autoconsent/web-rewind.com.json +21 -0
- package/rules/autoconsent/wildling-com.json +29 -0
- package/rules/autoconsent/worldbank.json +30 -0
- package/rules/autoconsent/yuntrack.json +50 -0
- package/rules/compact-rules.json +1 -1
- package/rules/rule-index.json +1 -1
- package/rules/rules.json +1 -1
- package/scripts/benchmark-button-classification.ts +18 -3
- package/scripts/button-text-benchmark.ts +5 -5
- package/tests/abcacupuncture1.spec.ts +3 -0
- package/tests/aceodds.spec.ts +3 -0
- package/tests/allabout-japan.spec.ts +3 -0
- package/tests/avvio.spec.ts +8 -0
- package/tests/axeptio.spec.ts +3 -0
- package/tests/bdirect-booking-engine.spec.ts +9 -0
- package/tests/berelax.com.spec.ts +5 -0
- package/tests/bigid.spec.ts +8 -0
- package/tests/bluepark.spec.ts +8 -0
- package/tests/burpee-com.spec.ts +2 -0
- package/tests/bynder.spec.ts +3 -0
- package/tests/cinemaplus.spec.ts +8 -0
- package/tests/columbia-privacy-notice.spec.ts +8 -0
- package/tests/community.screwfix.com.spec.ts +5 -0
- package/tests/complianz-notice.spec.ts +7 -3
- package/tests/cookieconsent2-legacy.spec.ts +8 -0
- package/tests/cookiesjsr.spec.ts +9 -0
- package/tests/copaamerica.spec.ts +3 -0
- package/tests/cornerstone-brands.spec.ts +8 -0
- package/tests/darkounity.com.spec.ts +6 -0
- package/tests/duda-cookie-notification.spec.ts +8 -0
- package/tests/endocrine.org.spec.ts +3 -0
- package/tests/ezoic.spec.ts +1 -1
- package/tests/fis-data-exchange.spec.ts +9 -0
- package/tests/getproven.spec.ts +5 -0
- package/tests/givedirectly.spec.ts +3 -0
- package/tests/godaddy-website-builder-cosmetic.spec.ts +7 -0
- package/tests/godaddy-website-builder.spec.ts +8 -0
- package/tests/guesty.spec.ts +7 -0
- package/tests/gundam-base-entry.spec.ts +3 -0
- package/tests/hearst-us.spec.ts +1 -0
- package/tests/indy-systems.spec.ts +8 -0
- package/tests/ing-nl.spec.ts +6 -0
- package/tests/iubenda.spec.ts +5 -0
- package/tests/la-becanerie.spec.ts +3 -0
- package/tests/lta.spec.ts +7 -0
- package/tests/lucrin.spec.ts +3 -0
- package/tests/makitatools.spec.ts +5 -0
- package/tests/milestone-internet.spec.ts +8 -0
- package/tests/mizuno-com.spec.ts +7 -0
- package/tests/nhm-ac-uk.spec.ts +3 -0
- package/tests/npo-ccm.spec.ts +17 -0
- package/tests/opalcollection-com.spec.ts +3 -0
- package/tests/orw-cookie-banner.spec.ts +5 -0
- package/tests/osf-io.spec.ts +3 -0
- package/tests/palace-company.spec.ts +8 -0
- package/tests/paytronix.spec.ts +7 -0
- package/tests/pigu.spec.ts +3 -0
- package/tests/pitt-edu.spec.ts +3 -0
- package/tests/pizzapilgrims.co.uk.spec.ts +3 -0
- package/tests/podimo.spec.ts +3 -0
- package/tests/publicmobile.spec.ts +3 -0
- package/tests/quantcast.spec.ts +15 -7
- package/tests/rakshaos.spec.ts +9 -0
- package/tests/rutjes.spec.ts +3 -0
- package/tests/saturdaysnyc.spec.ts +3 -0
- package/tests/serpstat-com.spec.ts +3 -0
- package/tests/shopquarters.spec.ts +5 -0
- package/tests/shopware.spec.ts +8 -0
- package/tests/simpleview-cookie-banner.spec.ts +10 -0
- package/tests/solvhealth-com.spec.ts +10 -0
- package/tests/spermidinelife-us.spec.ts +3 -0
- package/tests/squarespace-cookie-notice.spec.ts +9 -0
- package/tests/store2000-fr.spec.ts +5 -0
- package/tests/tealium.spec.ts +3 -0
- package/tests/tempest-cookie-notice.spec.ts +7 -0
- package/tests/termsfeed.spec.ts +4 -0
- package/tests/therealest.spec.ts +6 -0
- package/tests/tineye.spec.ts +3 -0
- package/tests/tk-aerztefuehrer.de.spec.ts +6 -0
- package/tests/tplink.spec.ts +11 -1
- package/tests/trust360.spec.ts +8 -0
- package/tests/up-cookie-consent.spec.ts +9 -0
- package/tests/uw-madison-cookieconsent.spec.ts +7 -0
- package/tests/vowels.spec.ts +3 -0
- package/tests/web-rewind.com.spec.ts +5 -0
- package/tests/wildling-com.spec.ts +3 -0
- package/tests/worldbank.spec.ts +7 -0
- package/tests/yuntrack.spec.ts +6 -0
- package/tests-wtr/dom-actions/dom-actions.click.ts +18 -0
- package/tests-wtr/heuristics/button-classification-accuracy.test.ts +9 -5
- package/tests-wtr/heuristics/get-potential-popups.test.ts +28 -0
- package/tests-wtr/heuristics/heuristics-utils.test.ts +2 -6
- package/tsconfig.build.json +1 -1
- package/tsconfig.heuristics.json +10 -0
- package/Dockerfile +0 -9
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import fs from 'fs';
|
|
6
6
|
import path from 'path';
|
|
7
7
|
import { parseArgs } from 'util';
|
|
8
|
-
import { classifyButtonTextRegex } from '../lib/
|
|
8
|
+
import { classifyButtonTextRegex } from '../lib/heuristic-classify';
|
|
9
9
|
import { buildLabelBenchmarks, classifyRows, formatExample, LabelBenchmark, parseButtonTextCsv, pct } from './button-text-benchmark';
|
|
10
10
|
|
|
11
11
|
const DEFAULT_CSV_PATH = path.join(__dirname, '../data/labelled-button-texts.csv');
|
|
@@ -50,6 +50,18 @@ function printLabelBenchmark(b: LabelBenchmark) {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
+
function printOtherBenchmark(b: LabelBenchmark) {
|
|
54
|
+
console.log(`\n ${b.label}`);
|
|
55
|
+
console.log(
|
|
56
|
+
` correctly labelled: ${b.rowCorrect}/${b.rowSupport} rows (${pct(b.rowCorrect, b.rowSupport)}), ${b.weightedCorrect}/${b.weightedSupport} weighted (${pct(b.weightedCorrect, b.weightedSupport)})`,
|
|
57
|
+
);
|
|
58
|
+
// false positives for 'other' are missed buttons, already listed under each button label
|
|
59
|
+
console.log(` top misclassified (labelled other, predicted a button type):${b.missedExamples.length === 0 ? ' (none)' : ''}`);
|
|
60
|
+
for (const example of b.missedExamples.slice(0, opts.top)) {
|
|
61
|
+
console.log(` ${formatExample(example)}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
53
65
|
function main() {
|
|
54
66
|
const inputPath = path.resolve(opts.input);
|
|
55
67
|
const rows = parseButtonTextCsv(fs.readFileSync(inputPath, 'utf8'));
|
|
@@ -58,18 +70,21 @@ function main() {
|
|
|
58
70
|
process.exit(1);
|
|
59
71
|
}
|
|
60
72
|
|
|
61
|
-
const
|
|
73
|
+
const allBenchmarks = buildLabelBenchmarks(classifyRows(rows, classifyButtonTextRegex));
|
|
74
|
+
const benchmarks = allBenchmarks.filter((b) => b.label !== 'other');
|
|
75
|
+
const otherBenchmark = allBenchmarks.find((b) => b.label === 'other')!;
|
|
62
76
|
const total = (key: 'rowSupport' | 'weightedSupport' | 'rowCorrect' | 'weightedCorrect' | 'weightedFalsePositives') =>
|
|
63
77
|
benchmarks.reduce((sum, b) => sum + b[key], 0);
|
|
64
78
|
|
|
65
79
|
console.log(`Input: ${inputPath} (${rows.length} labelled rows)`);
|
|
66
|
-
console.log('\nclassifyButtonTextRegex benchmark (
|
|
80
|
+
console.log('\nclassifyButtonTextRegex benchmark (button labels; false positives include rows labelled other)');
|
|
67
81
|
console.log(
|
|
68
82
|
` correctly labelled: ${total('rowCorrect')}/${total('rowSupport')} rows, ${total('weightedCorrect')}/${total('weightedSupport')} weighted (${pct(total('weightedCorrect'), total('weightedSupport'))})`,
|
|
69
83
|
);
|
|
70
84
|
console.log(` false positives (weighted): ${total('weightedFalsePositives')}`);
|
|
71
85
|
console.log(` missed (weighted): ${total('weightedSupport') - total('weightedCorrect')}`);
|
|
72
86
|
benchmarks.forEach(printLabelBenchmark);
|
|
87
|
+
printOtherBenchmark(otherBenchmark);
|
|
73
88
|
}
|
|
74
89
|
|
|
75
90
|
main();
|
|
@@ -72,14 +72,14 @@ function byOccurence(a: ButtonTextRow, b: ButtonTextRow): number {
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
|
-
* Per-label stats, in
|
|
75
|
+
* Per-label stats, in VALID_LABELS order ('other' last).
|
|
76
|
+
* False positives are counted against every row, so an 'other' row predicted as a button type counts against that type.
|
|
76
77
|
*/
|
|
77
78
|
export function buildLabelBenchmarks(results: ClassifiedButtonTextRow[]): LabelBenchmark[] {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const support = benchmarkResults.filter((r) => r.label === label);
|
|
79
|
+
return VALID_LABELS.map((label) => {
|
|
80
|
+
const support = results.filter((r) => r.label === label);
|
|
81
81
|
const correct = support.filter((r) => r.predicted === label);
|
|
82
|
-
const falsePositives =
|
|
82
|
+
const falsePositives = results.filter((r) => r.predicted === label && r.label !== label);
|
|
83
83
|
return {
|
|
84
84
|
label,
|
|
85
85
|
rowSupport: support.length,
|
package/tests/axeptio.spec.ts
CHANGED
|
@@ -11,3 +11,6 @@ generateCMPTests('axeptio', [
|
|
|
11
11
|
generateCMPTests('axeptio', ['https://mistral.ai/pricing', 'https://mistral.ai/news/le-chat-dives-deep'], {
|
|
12
12
|
testOptIn: false,
|
|
13
13
|
});
|
|
14
|
+
|
|
15
|
+
// Widget opens after a configured delay
|
|
16
|
+
generateCMPTests('axeptio', ['https://www.memo-de-vie.org/qui-sommes-nous', 'https://simmons.fr/', 'https://www.lyoncapitale.fr/']);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import generateCMPTests from '../playwright/runner';
|
|
2
|
+
|
|
3
|
+
generateCMPTests('bdirect-booking-engine', [
|
|
4
|
+
'https://bookings.shibaparkhotel.com/',
|
|
5
|
+
'https://bookings.glamdaystyle.jp/',
|
|
6
|
+
'https://bookings.kafuu-okinawa.jp/',
|
|
7
|
+
'https://bookings.islandnagasaki.jp/',
|
|
8
|
+
'https://bookings.aquasense.jp/',
|
|
9
|
+
]);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import generateCMPTests from '../playwright/runner';
|
|
2
|
+
|
|
3
|
+
generateCMPTests('bluepark', [
|
|
4
|
+
'https://www.shoeinsoles.co.uk/blog/superfeet-green-vs-superfeet-orange-insoles.html',
|
|
5
|
+
'https://www.bluepark.co.uk/',
|
|
6
|
+
'https://www.torchdirect.co.uk/',
|
|
7
|
+
'https://www.12voltplanet.co.uk/',
|
|
8
|
+
]);
|
package/tests/burpee-com.spec.ts
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import generateCMPTests from '../playwright/runner';
|
|
2
|
+
|
|
3
|
+
generateCMPTests('columbia-privacy-notice', [
|
|
4
|
+
'https://cas.columbia.edu/cas/login?service=https%3A%2F%2Fwebphoto.columbia.edu%2Fwps%2Fstatus',
|
|
5
|
+
'https://www.jazzstudiesonline.org/',
|
|
6
|
+
'https://artsinitiative.columbia.edu/',
|
|
7
|
+
'https://maap.columbia.edu/',
|
|
8
|
+
]);
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import generateCMPTests from '../playwright/runner';
|
|
2
2
|
|
|
3
|
-
generateCMPTests('Complianz notice', [
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
generateCMPTests('Complianz notice', [
|
|
4
|
+
'https://groups.io/',
|
|
5
|
+
'https://www.tuxedocomputers.com/',
|
|
6
|
+
// banner with a blocking screen overlay
|
|
7
|
+
'https://harleypsychologygroup.com/tests/depression-children/',
|
|
8
|
+
'https://infobunny.com/',
|
|
9
|
+
]);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import generateCMPTests from '../playwright/runner';
|
|
2
|
+
|
|
3
|
+
generateCMPTests('duda-cookie-notification', [
|
|
4
|
+
'https://www.swimjim.com/blog/8-different-swimming-styles-strokes',
|
|
5
|
+
'https://www.shootq.com/',
|
|
6
|
+
'https://www.hgar.com/',
|
|
7
|
+
'https://www.sdr-radio.com/',
|
|
8
|
+
]);
|
package/tests/ezoic.spec.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import generateCMPTests from '../playwright/runner';
|
|
2
2
|
|
|
3
|
-
generateCMPTests('EZoic', ['https://
|
|
3
|
+
generateCMPTests('EZoic', ['https://wordleplay.com/', 'https://pytutorial.com/', 'https://www.metric-conversions.org/'], {
|
|
4
4
|
skipRegions: ['US'],
|
|
5
5
|
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import generateCMPTests from '../playwright/runner';
|
|
2
|
+
|
|
3
|
+
const urls = [
|
|
4
|
+
'https://services.dataexchange.fiscloudservices.com/LogOn/1309821/3438949/5024536/5039357',
|
|
5
|
+
'https://services.dataexchange.fiscloudservices.com/LogOn/2622938',
|
|
6
|
+
'https://services.dataexchange.fiscloudservices.com/LogOn/1964272',
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
generateCMPTests('fis-data-exchange', urls);
|
package/tests/hearst-us.spec.ts
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import generateCMPTests from '../playwright/runner';
|
|
2
|
+
|
|
3
|
+
generateCMPTests('indy-systems', [
|
|
4
|
+
'https://home.caribbeancinemas.com/home?primary=true',
|
|
5
|
+
'https://www.gtcmovies.com/home',
|
|
6
|
+
'https://www.cwtheaters.com/home',
|
|
7
|
+
'https://www.esquiretheatre.com/home',
|
|
8
|
+
]);
|
package/tests/iubenda.spec.ts
CHANGED
|
@@ -9,3 +9,8 @@ generateCMPTests('iubenda', ['https://www.yogurtland.com/', 'https://www.greenpl
|
|
|
9
9
|
skipRegions: ['AU'],
|
|
10
10
|
testSelfTest: false,
|
|
11
11
|
});
|
|
12
|
+
|
|
13
|
+
// "Do Not Sell" CCPA notice in California, GDPR banner in Europe
|
|
14
|
+
generateCMPTests('iubenda', ['https://newatlas.com/', 'https://plan.io/'], {
|
|
15
|
+
skipRegions: ['US', 'AU'],
|
|
16
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import generateCMPTests from '../playwright/runner';
|
|
2
|
+
|
|
3
|
+
generateCMPTests(
|
|
4
|
+
'npo-ccm',
|
|
5
|
+
[
|
|
6
|
+
'https://www.powned.tv/',
|
|
7
|
+
'https://www.bnnvara.nl/',
|
|
8
|
+
'https://www.vpro.nl/',
|
|
9
|
+
'https://www.kro-ncrv.nl/',
|
|
10
|
+
'https://www.wnl.tv/',
|
|
11
|
+
'https://npo.nl/',
|
|
12
|
+
'https://www.ntr.nl/',
|
|
13
|
+
],
|
|
14
|
+
{
|
|
15
|
+
testSelfTest: false,
|
|
16
|
+
},
|
|
17
|
+
);
|
package/tests/quantcast.spec.ts
CHANGED
|
@@ -3,14 +3,22 @@ import generateCMPTests from '../playwright/runner';
|
|
|
3
3
|
generateCMPTests(
|
|
4
4
|
'quantcast',
|
|
5
5
|
[
|
|
6
|
-
'https://www.
|
|
7
|
-
'https://
|
|
8
|
-
'https://www.
|
|
9
|
-
'https://www.
|
|
10
|
-
'https://www.
|
|
11
|
-
'https://
|
|
6
|
+
'https://www.motor16.com/',
|
|
7
|
+
'https://routenplaner24.net/',
|
|
8
|
+
'https://www.miniplay.com/',
|
|
9
|
+
'https://www.geogebra.org/',
|
|
10
|
+
'https://www.gamepressure.com/',
|
|
11
|
+
'https://ffxiv.consolegameswiki.com/',
|
|
12
|
+
'https://www.quotev.com/',
|
|
13
|
+
'https://www.tide-forecast.com/',
|
|
12
14
|
],
|
|
13
15
|
{
|
|
14
|
-
skipRegions: ['US'
|
|
16
|
+
skipRegions: ['US'],
|
|
15
17
|
},
|
|
16
18
|
);
|
|
19
|
+
|
|
20
|
+
// US "Do Not Process My Personal Information" (USP/MSPA) dialog
|
|
21
|
+
generateCMPTests('quantcast', ['https://www.motor16.com/', 'https://www.quotev.com/'], {
|
|
22
|
+
testOptIn: false,
|
|
23
|
+
onlyRegions: ['US'],
|
|
24
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import generateCMPTests from '../playwright/runner';
|
|
2
|
+
|
|
3
|
+
generateCMPTests('shopware', [
|
|
4
|
+
'https://www.platinlux.com/en/s8-55056/floating-globe-smokey-e27-led-bulb-by-segula',
|
|
5
|
+
'https://stoffkontor.eu/',
|
|
6
|
+
'https://www.mdf-verpackungen.de/',
|
|
7
|
+
'https://www.noblewine.de/',
|
|
8
|
+
]);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import generateCMPTests from '../playwright/runner';
|
|
2
|
+
|
|
3
|
+
generateCMPTests('simpleview-cookie-banner', [
|
|
4
|
+
'https://www.poconomountains.com/listing/the-frogtown-chophouse/4896/',
|
|
5
|
+
'https://www.visitmadison.com/',
|
|
6
|
+
'https://www.gotocatalina.com/',
|
|
7
|
+
'https://www.experiencescottsdale.com/',
|
|
8
|
+
'https://www.visittampabay.com/',
|
|
9
|
+
'https://www.visitraleigh.com/',
|
|
10
|
+
]);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import generateCMPTests from '../playwright/runner';
|
|
2
|
+
|
|
3
|
+
// the notice is shown in all regions, but non-US visitors get a bot challenge first
|
|
4
|
+
generateCMPTests(
|
|
5
|
+
'solvhealth.com',
|
|
6
|
+
['https://www.solvhealth.com/pa/c/east-stroudsburg-pa-srv-dot-physicals', 'https://www.solvhealth.com/urgent-care/ny/new-york'],
|
|
7
|
+
{
|
|
8
|
+
onlyRegions: ['US'],
|
|
9
|
+
},
|
|
10
|
+
);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import generateCMPTests from '../playwright/runner';
|
|
2
|
+
|
|
3
|
+
generateCMPTests('squarespace-cookie-notice', [
|
|
4
|
+
'https://www.carraghersnyc.com/',
|
|
5
|
+
'https://www.chelseamarket.com/',
|
|
6
|
+
'https://www.tested.com/',
|
|
7
|
+
'https://www.pronuncian.com/',
|
|
8
|
+
'https://www.americanalpineclub.org/',
|
|
9
|
+
]);
|