mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-23 02:05:42 +00:00
30b2b7ce44
For simple rules like function spacing, we can auto-fix these across the code base so they are followed in a consistent way. To generate this patch, I ran: ./mach eslint devtools --no-ignore --fix After this, I reverted any changes to third party files that we really do want to ignore. MozReview-Commit-ID: 6Q8BApkAW20
161 lines
4.4 KiB
JavaScript
161 lines
4.4 KiB
JavaScript
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
|
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
|
|
/* 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 = waitForConsole();
|
|
|
|
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,
|
|
},
|
|
],
|
|
});
|
|
}
|
|
|
|
function waitForConsole() {
|
|
let deferred = promise.defer();
|
|
|
|
Services.obs.addObserver(function observer(aSubject) {
|
|
Services.obs.removeObserver(observer, "web-console-created");
|
|
aSubject.QueryInterface(Ci.nsISupportsString);
|
|
|
|
let hud = HUDService.getBrowserConsole();
|
|
ok(hud, "browser console is open");
|
|
is(aSubject.data, hud.hudId, "notification hudId is correct");
|
|
|
|
executeSoon(() => deferred.resolve(hud));
|
|
}, "web-console-created", false);
|
|
|
|
return deferred.promise;
|
|
}
|