123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
- /* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
- // Test the basic features of the Browser Console, bug 587757.
- "use strict";
- const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
- "test/test-console.html?" + Date.now();
- const TEST_FILE = "chrome://mochitests/content/browser/devtools/client/" +
- "webconsole/test/test-cu-reporterror.js";
- const TEST_XHR_ERROR_URI = `http://example.com/404.html?${Date.now()}`;
- const TEST_IMAGE = "http://example.com/browser/devtools/client/webconsole/" +
- "test/test-image.png";
- "use strict";
- add_task(function* () {
- yield loadTab(TEST_URI);
- let opened = waitForBrowserConsole();
- let hud = HUDService.getBrowserConsole();
- ok(!hud, "browser console is not open");
- info("wait for the browser console to open with ctrl-shift-j");
- EventUtils.synthesizeKey("j", { accelKey: true, shiftKey: true }, window);
- hud = yield opened;
- ok(hud, "browser console opened");
- yield consoleOpened(hud);
- });
- function consoleOpened(hud) {
- hud.jsterm.clearOutput(true);
- expectUncaughtException();
- executeSoon(() => {
- foobarExceptionBug587757();
- });
- // Add a message from a chrome window.
- hud.iframeWindow.console.log("bug587757a");
- // Check Cu.reportError stack.
- // Use another js script to not depend on the test file line numbers.
- Services.scriptloader.loadSubScript(TEST_FILE, hud.iframeWindow);
- // Add a message from a content window.
- content.console.log("bug587757b");
- // Test eval.
- hud.jsterm.execute("document.location.href");
- // Check for network requests.
- let xhr = new XMLHttpRequest();
- xhr.onload = () => console.log("xhr loaded, status is: " + xhr.status);
- xhr.open("get", TEST_URI, true);
- xhr.send();
- // Check for xhr error.
- let xhrErr = new XMLHttpRequest();
- xhrErr.onload = () => {
- console.log("xhr error loaded, status is: " + xhrErr.status);
- };
- xhrErr.open("get", TEST_XHR_ERROR_URI, true);
- xhrErr.send();
- // Check that Fetch requests are categorized as "XHR".
- fetch(TEST_IMAGE).then(() => { console.log("fetch loaded"); });
- return waitForMessages({
- webconsole: hud,
- messages: [
- {
- name: "chrome window console.log() is displayed",
- text: "bug587757a",
- category: CATEGORY_WEBDEV,
- severity: SEVERITY_LOG,
- },
- {
- name: "Cu.reportError is displayed",
- text: "bug1141222",
- category: CATEGORY_JS,
- severity: SEVERITY_ERROR,
- stacktrace: [{
- file: TEST_FILE,
- line: 2,
- }, {
- file: TEST_FILE,
- line: 4,
- },
- // Ignore the rest of the stack,
- // just assert Cu.reportError call site
- // and consoleOpened call
- ]
- },
- {
- name: "content window console.log() is displayed",
- text: "bug587757b",
- category: CATEGORY_WEBDEV,
- severity: SEVERITY_LOG,
- },
- {
- name: "jsterm eval result",
- text: "browser.xul",
- category: CATEGORY_OUTPUT,
- severity: SEVERITY_LOG,
- },
- {
- name: "exception message",
- text: "foobarExceptionBug587757",
- category: CATEGORY_JS,
- severity: SEVERITY_ERROR,
- },
- {
- name: "network message",
- text: "test-console.html",
- category: CATEGORY_NETWORK,
- severity: SEVERITY_INFO,
- isXhr: true,
- },
- {
- name: "xhr error message",
- text: "404.html",
- category: CATEGORY_NETWORK,
- severity: SEVERITY_ERROR,
- isXhr: true,
- },
- {
- name: "network message",
- text: "test-image.png",
- category: CATEGORY_NETWORK,
- severity: SEVERITY_INFO,
- isXhr: true,
- },
- ],
- });
- }
|