summaryrefslogtreecommitdiffstats
path: root/browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_exposure.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_exposure.js')
-rw-r--r--browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_exposure.js107
1 files changed, 107 insertions, 0 deletions
diff --git a/browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_exposure.js b/browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_exposure.js
new file mode 100644
index 0000000000..7529f29455
--- /dev/null
+++ b/browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_exposure.js
@@ -0,0 +1,107 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+const SPONSORED_QUERY = "sponsored";
+const NONSPONSORED_QUERY = "nonsponsored";
+
+// test for exposure events
+add_setup(async function () {
+ await initExposureTest();
+});
+
+add_task(async function exposureSponsoredOnEngagement() {
+ await doExposureTest({
+ prefs: [
+ ["browser.urlbar.exposureResults", "rs_adm_sponsored"],
+ ["browser.urlbar.showExposureResults", true],
+ ],
+ query: SPONSORED_QUERY,
+ trigger: () => doClick(),
+ assert: () => assertExposureTelemetry([{ results: "rs_adm_sponsored" }]),
+ });
+});
+
+add_task(async function exposureSponsoredOnAbandonment() {
+ await doExposureTest({
+ prefs: [
+ ["browser.urlbar.exposureResults", "rs_adm_sponsored"],
+ ["browser.urlbar.showExposureResults", true],
+ ],
+ query: SPONSORED_QUERY,
+ trigger: () => doBlur(),
+ assert: () => assertExposureTelemetry([{ results: "rs_adm_sponsored" }]),
+ });
+});
+
+add_task(async function exposureFilter() {
+ await doExposureTest({
+ prefs: [
+ ["browser.urlbar.exposureResults", "rs_adm_sponsored"],
+ ["browser.urlbar.showExposureResults", false],
+ ],
+ query: SPONSORED_QUERY,
+ select: async () => {
+ // assert that the urlbar has no results
+ Assert.equal(await getResultByType("rs_adm_sponsored"), null);
+ },
+ trigger: () => doBlur(),
+ assert: () => assertExposureTelemetry([{ results: "rs_adm_sponsored" }]),
+ });
+});
+
+add_task(async function innerQueryExposure() {
+ await doExposureTest({
+ prefs: [
+ ["browser.urlbar.exposureResults", "rs_adm_sponsored"],
+ ["browser.urlbar.showExposureResults", true],
+ ],
+ query: NONSPONSORED_QUERY,
+ select: () => {},
+ trigger: async () => {
+ // delete the old query
+ gURLBar.select();
+ EventUtils.synthesizeKey("KEY_Backspace");
+ await openPopup(SPONSORED_QUERY);
+ await defaultSelect(SPONSORED_QUERY);
+ await doClick();
+ },
+ assert: () => assertExposureTelemetry([{ results: "rs_adm_sponsored" }]),
+ });
+});
+
+add_task(async function innerQueryInvertedExposure() {
+ await doExposureTest({
+ prefs: [
+ ["browser.urlbar.exposureResults", "rs_adm_sponsored"],
+ ["browser.urlbar.showExposureResults", true],
+ ],
+ query: SPONSORED_QUERY,
+ select: () => {},
+ trigger: async () => {
+ // delete the old query
+ gURLBar.select();
+ EventUtils.synthesizeKey("KEY_Backspace");
+ await openPopup(NONSPONSORED_QUERY);
+ await defaultSelect(SPONSORED_QUERY);
+ await doClick();
+ },
+ assert: () => assertExposureTelemetry([{ results: "rs_adm_sponsored" }]),
+ });
+});
+
+add_task(async function multipleProviders() {
+ await doExposureTest({
+ prefs: [
+ [
+ "browser.urlbar.exposureResults",
+ "rs_adm_sponsored,rs_adm_nonsponsored",
+ ],
+ ["browser.urlbar.showExposureResults", true],
+ ],
+ query: NONSPONSORED_QUERY,
+ trigger: () => doClick(),
+ assert: () => assertExposureTelemetry([{ results: "rs_adm_nonsponsored" }]),
+ });
+});