diff options
Diffstat (limited to 'parser/htmlparser/tests/mochitest/browser_ysod_telemetry.js')
-rw-r--r-- | parser/htmlparser/tests/mochitest/browser_ysod_telemetry.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/parser/htmlparser/tests/mochitest/browser_ysod_telemetry.js b/parser/htmlparser/tests/mochitest/browser_ysod_telemetry.js new file mode 100644 index 0000000000..5a709351e7 --- /dev/null +++ b/parser/htmlparser/tests/mochitest/browser_ysod_telemetry.js @@ -0,0 +1,47 @@ +"use strict"; + +const { TelemetryTestUtils } = ChromeUtils.import( + "resource://testing-common/TelemetryTestUtils.jsm" +); + +add_task(async function test_popup_opened() { + Services.telemetry.clearEvents(); + Services.telemetry.setEventRecordingEnabled("ysod", true); + + const PAGE_URL = getRootDirectory(gTestPath) + "broken_xml.xhtml"; + let viewSourceTab = await BrowserTestUtils.openNewForegroundTab( + gBrowser, + PAGE_URL + ); + + let content = await SpecialPowers.spawn( + viewSourceTab.linkedBrowser, + [], + async function() { + return content.document.documentElement.innerHTML; + } + ); + + ok(content.includes("XML"), "Document shows XML error"); + + TelemetryTestUtils.assertEvents( + [ + { + method: "shown", + object: "ysod", + value: PAGE_URL.substr(0, 80), + extra: { + error_code: "11", + location: "3:12", + last_line: " <title>&nonExistingEntity;</title>", + last_line_len: "38", + }, + }, + ], + { + category: "ysod", + }, + { process: "parent" } + ); + BrowserTestUtils.removeTab(viewSourceTab); +}); |