summaryrefslogtreecommitdiffstats
path: root/browser/components/reportbrokensite/test/browser/browser_send_more_info.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/reportbrokensite/test/browser/browser_send_more_info.js')
-rw-r--r--browser/components/reportbrokensite/test/browser/browser_send_more_info.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/browser/components/reportbrokensite/test/browser/browser_send_more_info.js b/browser/components/reportbrokensite/test/browser/browser_send_more_info.js
new file mode 100644
index 0000000000..edce03e0e0
--- /dev/null
+++ b/browser/components/reportbrokensite/test/browser/browser_send_more_info.js
@@ -0,0 +1,68 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/* Tests that the send more info link appears only when its pref
+ * is set to true, and that when clicked it will open a tab to
+ * the webcompat.com endpoint and send the right data.
+ */
+
+/* import-globals-from send_more_info.js */
+
+"use strict";
+
+const VIDEO_URL = `${BASE_URL}/videotest.mp4`;
+
+Services.scriptloader.loadSubScript(
+ getRootDirectory(gTestPath) + "send_more_info.js",
+ this
+);
+
+add_common_setup();
+
+requestLongerTimeout(2);
+
+add_task(async function testSendMoreInfoPref() {
+ ensureReportBrokenSitePreffedOn();
+
+ await BrowserTestUtils.withNewTab(
+ REPORTABLE_PAGE_URL,
+ async function (browser) {
+ await changeTab(gBrowser.selectedTab, REPORTABLE_PAGE_URL);
+
+ ensureSendMoreInfoDisabled();
+ let rbs = await AppMenu().openReportBrokenSite();
+ await rbs.isSendMoreInfoHidden();
+ await rbs.close();
+
+ ensureSendMoreInfoEnabled();
+ rbs = await AppMenu().openReportBrokenSite();
+ await rbs.isSendMoreInfoShown();
+ await rbs.close();
+ }
+ );
+});
+
+add_task(async function testSendingMoreInfo() {
+ ensureReportBrokenSitePreffedOn();
+ ensureSendMoreInfoEnabled();
+
+ const tab = await openTab(REPORTABLE_PAGE_URL);
+
+ await testSendMoreInfo(tab, AppMenu());
+
+ await changeTab(tab, REPORTABLE_PAGE_URL2);
+
+ await testSendMoreInfo(tab, ProtectionsPanel(), {
+ url: "https://override.com",
+ description: "another",
+ expectNoTabDetails: true,
+ });
+
+ // also load a video to ensure system codec
+ // information is loaded and properly sent
+ const tab2 = await openTab(VIDEO_URL);
+ await testSendMoreInfo(tab2, HelpMenu());
+ closeTab(tab2);
+
+ closeTab(tab);
+});