Bug 1317069 - Fix ESLint in new console frontend; r=ntim

MozReview-Commit-ID: 7MgHbRxnU1V

--HG--
extra : rebase_source : 4e7296388b901773f6b8405b07aa355367cfb925
This commit is contained in:
Nicolas Chevobbe 2016-12-08 09:16:41 +01:00
parent 98225ef092
commit fa7ec438de
34 changed files with 1811 additions and 1959 deletions

View file

@ -96,10 +96,13 @@ devtools/client/shared/*.jsm
devtools/client/shared/webgl-utils.js
devtools/client/shared/widgets/*.jsm
devtools/client/webaudioeditor/**
devtools/client/webconsole/**
!devtools/client/webconsole/panel.js
!devtools/client/webconsole/jsterm.js
!devtools/client/webconsole/console-commands.js
devtools/client/webconsole/net/**
devtools/client/webconsole/test/**
devtools/client/webconsole/console-output.js
devtools/client/webconsole/hudservice.js
devtools/client/webconsole/utils.js
devtools/client/webconsole/webconsole-connection-proxy.js
devtools/client/webconsole/webconsole.js
devtools/client/webide/**
!devtools/client/webide/components/webideCli.js
devtools/server/*.js

View file

@ -0,0 +1,5 @@
"use strict";
module.exports = {
"env": { "browser": true }
};

View file

@ -9,7 +9,6 @@ const {
DOM: dom,
PropTypes
} = require("devtools/client/shared/vendor/react");
const ReactDOM = require("devtools/client/shared/vendor/react-dom");
const { connect } = require("devtools/client/shared/vendor/react-redux");
const {

View file

@ -63,7 +63,8 @@ const Message = createClass({
// Event used in tests. Some message types don't pass it in because existing tests
// did not emit for them.
if (this.props.serviceContainer) {
this.props.serviceContainer.emitNewMessage(this.messageNode, this.props.messageId);
this.props.serviceContainer.emitNewMessage(
this.messageNode, this.props.messageId);
}
}
},

View file

@ -8,7 +8,6 @@
var { utils: Cu } = Components;
const { XPCOMUtils } = Cu.import("resource://gre/modules/XPCOMUtils.jsm", {});
const { BrowserLoader } = Cu.import("resource://devtools/client/shared/browser-loader.js", {});
// Initialize module loader and load all modules of the new inline
@ -19,5 +18,6 @@ const NewConsoleOutputWrapper = BrowserLoader({
window}).require("./new-console-output-wrapper");
this.NewConsoleOutput = function (parentNode, jsterm, toolbox, owner, serviceContainer) {
return new NewConsoleOutputWrapper(parentNode, jsterm, toolbox, owner, serviceContainer);
return new NewConsoleOutputWrapper(
parentNode, jsterm, toolbox, owner, serviceContainer);
};

View file

@ -1,12 +1,12 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/* exported Task, browserRequire */
"use strict";
var { utils: Cu } = Components;
var { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
var { Assert } = require("resource://testing-common/Assert.jsm");
var { BrowserLoader } = Cu.import("resource://devtools/client/shared/browser-loader.js", {});
var { Task } = require("devtools/shared/task");

View file

@ -13,6 +13,8 @@
<div id="output"></div>
<script type="text/javascript;version=1.8">
"use strict";
const testPackets = [];
const numMessages = 1000;
for (let id = 0; id < numMessages; id++) {
@ -57,9 +59,12 @@ function timeit(cb) {
}
window.onload = Task.async(function* () {
const { configureStore } = browserRequire("devtools/client/webconsole/new-console-output/store");
const { filterTextSet, filtersClear } = browserRequire("devtools/client/webconsole/new-console-output/actions/index");
const NewConsoleOutputWrapper = browserRequire("devtools/client/webconsole/new-console-output/new-console-output-wrapper");
const { configureStore } = browserRequire(
"devtools/client/webconsole/new-console-output/store");
const { filterTextSet, filtersClear } = browserRequire(
"devtools/client/webconsole/new-console-output/actions/index");
const NewConsoleOutputWrapper = browserRequire(
"devtools/client/webconsole/new-console-output/new-console-output-wrapper");
const wrapper = new NewConsoleOutputWrapper(document.querySelector("#output"), {});
const store = configureStore();

View file

@ -34,7 +34,9 @@ describe("ConsoleAPICall component:", () => {
expect(wrapper.find(".message-body").text()).toBe("foobar test");
expect(wrapper.find(".objectBox-string").length).toBe(2);
expect(wrapper.find("div.message.cm-s-mozilla span span.message-flex-body span.message-body.devtools-monospace").length).toBe(1);
let selector = "div.message.cm-s-mozilla span span.message-flex-body " +
"span.message-body.devtools-monospace";
expect(wrapper.find(selector).length).toBe(1);
// There should be the location
const locationLink = wrapper.find(`.message-location`);
@ -75,7 +77,9 @@ describe("ConsoleAPICall component:", () => {
expect(wrapper.find(".message-repeats").text()).toBe("107");
expect(wrapper.find(".message-repeats").prop("title")).toBe("107 repeats");
expect(wrapper.find("span > span.message-flex-body > span.message-body.devtools-monospace + span.message-repeats").length).toBe(1);
let selector = "span > span.message-flex-body > " +
"span.message-body.devtools-monospace + span.message-repeats";
expect(wrapper.find(selector).length).toBe(1);
});
it("has the expected indent", () => {
@ -111,10 +115,12 @@ describe("ConsoleAPICall component:", () => {
describe("console.assert", () => {
it("renders", () => {
const message = stubPreparedMessages.get("console.assert(false, {message: 'foobar'})");
const message = stubPreparedMessages.get(
"console.assert(false, {message: 'foobar'})");
const wrapper = render(ConsoleApiCall({ message, serviceContainer }));
expect(wrapper.find(".message-body").text()).toBe("Assertion failed: Object { message: \"foobar\" }");
expect(wrapper.find(".message-body").text())
.toBe("Assertion failed: Object { message: \"foobar\" }");
});
});
@ -145,19 +151,26 @@ describe("ConsoleAPICall component:", () => {
expect(wrapper.find(".message-body").text()).toBe("console.trace()");
const frameLinks = wrapper.find(`.stack-trace span.frame-link[data-url='${filepath}']`);
const frameLinks = wrapper.find(
`.stack-trace span.frame-link[data-url='${filepath}']`);
expect(frameLinks.length).toBe(3);
expect(frameLinks.eq(0).find(".frame-link-function-display-name").text()).toBe("testStacktraceFiltering");
expect(frameLinks.eq(0).find(".frame-link-filename").text()).toBe(filepath);
expect(frameLinks.eq(0).find(".frame-link-function-display-name").text())
.toBe("testStacktraceFiltering");
expect(frameLinks.eq(0).find(".frame-link-filename").text())
.toBe(filepath);
expect(frameLinks.eq(1).find(".frame-link-function-display-name").text()).toBe("foo");
expect(frameLinks.eq(1).find(".frame-link-filename").text()).toBe(filepath);
expect(frameLinks.eq(1).find(".frame-link-function-display-name").text())
.toBe("foo");
expect(frameLinks.eq(1).find(".frame-link-filename").text())
.toBe(filepath);
expect(frameLinks.eq(2).find(".frame-link-function-display-name").text()).toBe("triggerPacket");
expect(frameLinks.eq(2).find(".frame-link-filename").text()).toBe(filepath);
expect(frameLinks.eq(2).find(".frame-link-function-display-name").text())
.toBe("triggerPacket");
expect(frameLinks.eq(2).find(".frame-link-filename").text())
.toBe(filepath);
//it should not be collapsible.
// it should not be collapsible.
expect(wrapper.find(`.theme-twisty`).length).toBe(0);
});
});

View file

@ -40,7 +40,8 @@ describe("FilterBar component:", () => {
expect(toolbar.children().eq(1).attr("title")).toBe("Toggle filter bar");
// Text filter
expect(toolbar.children().eq(2).attr("class")).toBe("devtools-plaininput text-filter");
expect(toolbar.children().eq(2).attr("class"))
.toBe("devtools-plaininput text-filter");
expect(toolbar.children().eq(2).attr("placeholder")).toBe("Filter output");
expect(toolbar.children().eq(2).attr("type")).toBe("search");
expect(toolbar.children().eq(2).attr("value")).toBe("");
@ -71,7 +72,8 @@ describe("FilterBar component:", () => {
{ label: "Warnings", filterKey: MESSAGE_LEVEL.WARN }));
const errorButton = FilterButton(Object.assign({}, buttonProps,
{ label: "Errors", filterKey: MESSAGE_LEVEL.ERROR }));
expect(wrapper.contains([errorButton, warnButton, logButton, infoButton, debugButton])).toBe(true);
let buttons = [errorButton, warnButton, logButton, infoButton, debugButton];
expect(wrapper.contains(buttons)).toBe(true);
});
it("fires MESSAGES_CLEAR action when clear button is clicked", () => {

View file

@ -32,7 +32,9 @@ describe("NetworkEventMessage component:", () => {
expect(wrapper.find(".message-body .xhr").length).toBe(0);
expect(wrapper.find(".message-body .url").length).toBe(1);
expect(wrapper.find(".message-body .url").text()).toBe(EXPECTED_URL);
expect(wrapper.find("div.message.cm-s-mozilla span.message-body.devtools-monospace").length).toBe(1);
expect(wrapper
.find("div.message.cm-s-mozilla span.message-body.devtools-monospace").length
).toBe(1);
});
it("has the expected indent", () => {
@ -57,7 +59,8 @@ describe("NetworkEventMessage component:", () => {
expect(wrapper.find(".message-body .xhr").length).toBe(1);
expect(wrapper.find(".message-body .xhr").text()).toBe("XHR");
expect(wrapper.find(".message-body .url").text()).toBe(EXPECTED_URL);
expect(wrapper.find("div.message.cm-s-mozilla span.message-body.devtools-monospace").length).toBe(1);
let selector = "div.message.cm-s-mozilla span.message-body.devtools-monospace";
expect(wrapper.find(selector).length).toBe(1);
});
});
@ -71,7 +74,8 @@ describe("NetworkEventMessage component:", () => {
expect(wrapper.find(".message-body .xhr").text()).toBe("XHR");
expect(wrapper.find(".message-body .url").length).toBe(1);
expect(wrapper.find(".message-body .url").text()).toBe(EXPECTED_URL);
expect(wrapper.find("div.message.cm-s-mozilla span.message-body.devtools-monospace").length).toBe(1);
let selector = "div.message.cm-s-mozilla span.message-body.devtools-monospace";
expect(wrapper.find(selector).length);
});
});
});

View file

@ -12,6 +12,7 @@ module.exports = {
case "devtools.hud.loglimit":
return 1000;
}
return null;
},
getBoolPref: pref => {
const falsey = [

View file

@ -13,5 +13,6 @@ module.exports = {
subscribe: () => {},
},
openLink: () => {},
// eslint-disable-next-line react/display-name
createElement: tagName => document.createElement(tagName)
};

View file

@ -4,9 +4,9 @@
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
requestLongerTimeout(2)
requestLongerTimeout(2);
Cu.import("resource://gre/modules/osfile.jsm");
Cu.import("resource://gre/modules/osfile.jsm", {});
const { consoleApi: snippets } = require("devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/stub-snippets.js");
const TEST_URI = "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html";
@ -17,7 +17,7 @@ let stubs = {
};
add_task(function* () {
for (var [key, {keys, code}] of snippets) {
for (let [key, {keys, code}] of snippets) {
yield OS.File.writeAtomic(TEMP_FILE_PATH, `function triggerPacket() {${code}}`);
let toolbox = yield openNewTabAndToolbox(TEST_URI, "webconsole");
@ -31,7 +31,7 @@ add_task(function* () {
let listener = (type, res) => {
stubs.packets.push(formatPacket(keys[i], res));
stubs.preparedMessages.push(formatStub(keys[i], res));
if(++i === keys.length ){
if (++i === keys.length) {
toolbox.target.client.removeListener("consoleAPICall", listener);
resolve();
}
@ -39,10 +39,12 @@ add_task(function* () {
toolbox.target.client.addListener("consoleAPICall", listener);
});
yield ContentTask.spawn(gBrowser.selectedBrowser, key, function(key) {
var script = content.document.createElement("script");
script.src = "test-tempfile.js?key=" + encodeURIComponent(key);
script.onload = function() { content.wrappedJSObject.triggerPacket(); }
yield ContentTask.spawn(gBrowser.selectedBrowser, key, function (subKey) {
let script = content.document.createElement("script");
script.src = "test-tempfile.js?key=" + encodeURIComponent(subKey);
script.onload = function () {
content.wrappedJSObject.triggerPacket();
};
content.document.body.appendChild(script);
});
@ -51,6 +53,6 @@ add_task(function* () {
yield closeTabAndToolbox();
}
let filePath = OS.Path.join(`${BASE_PATH}/stubs`, "consoleApi.js");
OS.File.writeAtomic(filePath, formatFile(stubs));
OS.File.writeAtomic(filePath, formatFile(stubs, "ConsoleMessage"));
OS.File.writeAtomic(TEMP_FILE_PATH, "");
});

View file

@ -3,7 +3,7 @@
"use strict";
Cu.import("resource://gre/modules/osfile.jsm");
Cu.import("resource://gre/modules/osfile.jsm", {});
const TEST_URI = "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-css-message.html";
const { cssMessage: snippets} = require("devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/stub-snippets.js");
@ -43,6 +43,6 @@ add_task(function* () {
}
let filePath = OS.Path.join(`${BASE_PATH}/stubs`, "cssMessage.js");
OS.File.writeAtomic(filePath, formatFile(stubs));
OS.File.writeAtomic(filePath, formatFile(stubs, "ConsoleMessage"));
OS.File.writeAtomic(TEMP_CSS_FILE_PATH, "");
});

View file

@ -5,7 +5,7 @@
"use strict";
Cu.import("resource://gre/modules/osfile.jsm");
Cu.import("resource://gre/modules/osfile.jsm", {});
const TEST_URI = "data:text/html;charset=utf-8,stub generation";
const { evaluationResult: snippets} = require("devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/stub-snippets.js");
@ -19,7 +19,7 @@ add_task(function* () {
let toolbox = yield openNewTabAndToolbox(TEST_URI, "webconsole");
ok(true, "make the test not fail");
for (var [code,key] of snippets) {
for (let [code, key] of snippets) {
const packet = yield new Promise(resolve => {
toolbox.target.activeConsole.evaluateJS(code, resolve);
});
@ -28,5 +28,5 @@ add_task(function* () {
}
let filePath = OS.Path.join(`${BASE_PATH}/stubs`, "evaluationResult.js");
OS.File.writeAtomic(filePath, formatFile(stubs));
OS.File.writeAtomic(filePath, formatFile(stubs, "ConsoleMessage"));
});

View file

@ -5,7 +5,7 @@
"use strict";
Cu.import("resource://gre/modules/osfile.jsm");
Cu.import("resource://gre/modules/osfile.jsm", {});
const TARGET = "networkEvent";
const { [TARGET]: snippets } = require("devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/stub-snippets.js");
const TEST_URI = "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-network-event.html";
@ -16,7 +16,7 @@ let stubs = {
};
add_task(function* () {
for (var [key, {keys, code}] of snippets) {
for (let {keys, code} of snippets.values()) {
OS.File.writeAtomic(TEMP_FILE_PATH, `function triggerPacket() {${code}}`);
let toolbox = yield openNewTabAndToolbox(TEST_URI, "webconsole");
let {ui} = toolbox.getCurrentPanel().hud;
@ -29,19 +29,19 @@ add_task(function* () {
toolbox.target.client.addListener(TARGET, (type, res) => {
stubs.packets.push(formatPacket(keys[i], res));
stubs.preparedMessages.push(formatNetworkStub(keys[i], res));
if(++i === keys.length ){
if (++i === keys.length) {
resolve();
}
});
});
yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function() {
yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function () {
content.wrappedJSObject.triggerPacket();
});
yield received;
}
let filePath = OS.Path.join(`${BASE_PATH}/stubs/${TARGET}.js`);
OS.File.writeAtomic(filePath, formatFile(stubs));
OS.File.writeAtomic(filePath, formatFile(stubs, "NetworkEventMessage"));
OS.File.writeAtomic(TEMP_FILE_PATH, "");
});

View file

@ -5,7 +5,7 @@
"use strict";
Cu.import("resource://gre/modules/osfile.jsm");
Cu.import("resource://gre/modules/osfile.jsm", {});
const TEST_URI = "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html";
const { pageError: snippets} = require("devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/stub-snippets.js");
@ -19,7 +19,7 @@ add_task(function* () {
let toolbox = yield openNewTabAndToolbox(TEST_URI, "webconsole");
ok(true, "make the test not fail");
for (var [key,code] of snippets) {
for (let [key, code] of snippets) {
OS.File.writeAtomic(TEMP_FILE_PATH, `${code}`);
let received = new Promise(resolve => {
toolbox.target.client.addListener("pageError", function onPacket(e, packet) {
@ -33,9 +33,9 @@ add_task(function* () {
});
});
yield ContentTask.spawn(gBrowser.selectedBrowser, key, function(key) {
var script = content.document.createElement("script");
script.src = "test-tempfile.js?key=" + encodeURIComponent(key);
yield ContentTask.spawn(gBrowser.selectedBrowser, key, function (subKey) {
let script = content.document.createElement("script");
script.src = "test-tempfile.js?key=" + encodeURIComponent(subKey);
content.document.body.appendChild(script);
});
@ -43,6 +43,6 @@ add_task(function* () {
}
let filePath = OS.Path.join(`${BASE_PATH}/stubs`, "pageError.js");
OS.File.writeAtomic(filePath, formatFile(stubs));
OS.File.writeAtomic(filePath, formatFile(stubs, "ConsoleMessage"));
OS.File.writeAtomic(TEMP_FILE_PATH, "");
});

View file

@ -2,8 +2,9 @@
/* 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/ */
/* import-globals-from ../../../../framework/test/shared-head.js */
/* import-globals-from ../../../../../framework/test/shared-head.js */
/* exported TEMP_FILE_PATH, TEMP_CSS_FILE_PATH, formatPacket, formatStub,
formatNetworkStub, formatFile */
"use strict";
// shared-head.js handles imports, constants, and utility functions
@ -20,7 +21,8 @@ registerCleanupFunction(() => {
const { prepareMessage } = require("devtools/client/webconsole/new-console-output/utils/messages");
const { stubPackets } = require("devtools/client/webconsole/new-console-output/test/fixtures/stubs/index.js");
const BASE_PATH = "../../../../devtools/client/webconsole/new-console-output/test/fixtures";
const BASE_PATH =
"../../../../devtools/client/webconsole/new-console-output/test/fixtures";
const TEMP_FILE_PATH = OS.Path.join(`${BASE_PATH}/stub-generators`, "test-tempfile.js");
const TEMP_CSS_FILE_PATH = OS.Path.join(`${BASE_PATH}/stub-generators`,
"test-tempfile.css");
@ -28,7 +30,7 @@ const TEMP_CSS_FILE_PATH = OS.Path.join(`${BASE_PATH}/stub-generators`,
let cachedPackets = {};
function getCleanedPacket(key, packet) {
if(Object.keys(cachedPackets).includes(key)) {
if (Object.keys(cachedPackets).includes(key)) {
return cachedPackets[key];
}
@ -44,7 +46,6 @@ function getCleanedPacket(key, packet) {
// the diff resulting from this stub generation.
let res;
if (stubPackets.has(safeKey)) {
let existingPacket = stubPackets.get(safeKey);
res = Object.assign({}, packet, {
from: existingPacket.from
@ -84,7 +85,7 @@ function getCleanedPacket(key, packet) {
// Clean actor ids on evaluation result messages.
res.result.actor = existingPacket.result.actor;
if (res.result.preview) {
if(res.result.preview.timestamp) {
if (res.result.preview.timestamp) {
// Clean timestamp there too.
res.result.preview.timestamp = existingPacket.result.preview.timestamp;
}
@ -95,7 +96,7 @@ function getCleanedPacket(key, packet) {
// Clean actor ids on exception messages.
res.exception.actor = existingPacket.exception.actor;
if (res.exception.preview) {
if(res.exception.preview.timestamp) {
if (res.exception.preview.timestamp) {
// Clean timestamp there too.
res.exception.preview.timestamp = existingPacket.exception.preview.timestamp;
}
@ -113,7 +114,6 @@ function getCleanedPacket(key, packet) {
// Clean timeStamp on pageError messages.
res.pageError.timeStamp = existingPacket.pageError.timeStamp;
}
} else {
res = packet;
}
@ -123,9 +123,8 @@ function getCleanedPacket(key, packet) {
}
function formatPacket(key, packet) {
return `
stubPackets.set("${key}", ${JSON.stringify(getCleanedPacket(key, packet), null, "\t")});
`;
let stringifiedPacket = JSON.stringify(getCleanedPacket(key, packet), null, 2);
return `stubPackets.set("${key}", ${stringifiedPacket});`;
}
function formatStub(key, packet) {
@ -133,10 +132,8 @@ function formatStub(key, packet) {
getCleanedPacket(key, packet),
{getNextId: () => "1"}
);
return `
stubPreparedMessages.set("${key}", new ConsoleMessage(${JSON.stringify(prepared, null, "\t")}));
`;
let stringifiedMessage = JSON.stringify(prepared, null, 2);
return `stubPreparedMessages.set("${key}", new ConsoleMessage(${stringifiedMessage}));`;
}
function formatNetworkStub(key, packet) {
@ -164,14 +161,15 @@ function formatNetworkStub(key, packet) {
fromServiceWorker: actor.fromServiceWorker
};
let prepared = prepareMessage(networkInfo, {getNextId: () => "1"});
return `
stubPreparedMessages.set("${key}", new NetworkEventMessage(${JSON.stringify(prepared, null, "\t")}));
`;
let stringifiedMessage = JSON.stringify(prepared, null, 2);
return `stubPreparedMessages.set("${key}", ` +
`new NetworkEventMessage(${stringifiedMessage}));`;
}
function formatFile(stubs) {
function formatFile(stubs, type) {
return `/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/* eslint-disable max-len */
"use strict";
@ -179,16 +177,18 @@ function formatFile(stubs) {
* THIS FILE IS AUTOGENERATED. DO NOT MODIFY BY HAND. RUN TESTS IN FIXTURES/ TO UPDATE.
*/
const { ConsoleMessage, NetworkEventMessage } = require("devtools/client/webconsole/new-console-output/types");
const { ${type} } =
require("devtools/client/webconsole/new-console-output/types");
let stubPreparedMessages = new Map();
let stubPackets = new Map();
${stubs.preparedMessages.join("\n\n")}
${stubs.preparedMessages.join("")}
${stubs.packets.join("")}
${stubs.packets.join("\n\n")}
module.exports = {
stubPreparedMessages,
stubPackets,
}`;
};
`;
}

View file

@ -3,10 +3,6 @@
"use strict";
var {DebuggerServer} = require("devtools/server/main");
var longString = (new Array(DebuggerServer.LONG_STRING_LENGTH + 4)).join("a");
var initialString = longString.substring(0, DebuggerServer.LONG_STRING_INITIAL_LENGTH);
// Console API
const consoleApiCommands = [

View file

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/* eslint-disable max-len */
"use strict";
@ -7,12 +8,11 @@
* THIS FILE IS AUTOGENERATED. DO NOT MODIFY BY HAND. RUN TESTS IN FIXTURES/ TO UPDATE.
*/
const { ConsoleMessage, NetworkEventMessage } = require("devtools/client/webconsole/new-console-output/types");
const { ConsoleMessage } =
require("devtools/client/webconsole/new-console-output/types");
let stubPreparedMessages = new Map();
let stubPackets = new Map();
stubPreparedMessages.set("console.log('foobar', 'test')", new ConsoleMessage({
"id": "1",
"allowRepeating": true,
@ -327,7 +327,7 @@ stubPreparedMessages.set("console.dirxml(window)", new ConsoleMessage({
"extensible": true,
"frozen": false,
"sealed": false,
"ownPropertyLength": 812,
"ownPropertyLength": 811,
"preview": {
"kind": "ObjectWithURL",
"url": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html"
@ -335,7 +335,7 @@ stubPreparedMessages.set("console.dirxml(window)", new ConsoleMessage({
}
],
"repeat": 1,
"repeatId": "{\"id\":null,\"allowRepeating\":true,\"source\":\"console-api\",\"timeStamp\":1479159908948,\"type\":\"log\",\"level\":\"log\",\"messageText\":null,\"parameters\":[{\"type\":\"object\",\"actor\":\"server1.conn11.child1/obj31\",\"class\":\"Window\",\"extensible\":true,\"frozen\":false,\"sealed\":false,\"ownPropertyLength\":812,\"preview\":{\"kind\":\"ObjectWithURL\",\"url\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html\"}}],\"repeatId\":null,\"stacktrace\":null,\"frame\":{\"source\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=console.dirxml(window)\",\"line\":1,\"column\":27},\"groupId\":null,\"exceptionDocURL\":null,\"userProvidedStyles\":[]}",
"repeatId": "{\"id\":null,\"allowRepeating\":true,\"source\":\"console-api\",\"timeStamp\":1479159908948,\"type\":\"log\",\"level\":\"log\",\"messageText\":null,\"parameters\":[{\"type\":\"object\",\"actor\":\"server1.conn11.child1/obj31\",\"class\":\"Window\",\"extensible\":true,\"frozen\":false,\"sealed\":false,\"ownPropertyLength\":811,\"preview\":{\"kind\":\"ObjectWithURL\",\"url\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html\"}}],\"repeatId\":null,\"stacktrace\":null,\"frame\":{\"source\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=console.dirxml(window)\",\"line\":1,\"column\":27},\"groupId\":null,\"exceptionDocURL\":null,\"userProvidedStyles\":[]}",
"stacktrace": null,
"frame": {
"source": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=console.dirxml(window)",
@ -660,7 +660,6 @@ stubPreparedMessages.set("console.log(%cfoobar)", new ConsoleMessage({
]
}));
stubPackets.set("console.log('foobar', 'test')", {
"from": "server1.conn0.child1/consoleActor2",
"type": "consoleAPICall",
@ -676,14 +675,6 @@ stubPackets.set("console.log('foobar', 'test')", {
"groupName": "",
"level": "log",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"styles": [],
"timeStamp": 1479159894798,
@ -709,14 +700,6 @@ stubPackets.set("console.log(undefined)", {
"groupName": "",
"level": "log",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"styles": [],
"timeStamp": 1479159896036,
@ -740,14 +723,6 @@ stubPackets.set("console.warn('danger, will robinson!')", {
"groupName": "",
"level": "warn",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"styles": [],
"timeStamp": 1479159897333,
@ -773,14 +748,6 @@ stubPackets.set("console.log(NaN)", {
"groupName": "",
"level": "log",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"styles": [],
"timeStamp": 1479159898667,
@ -806,14 +773,6 @@ stubPackets.set("console.log(null)", {
"groupName": "",
"level": "log",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"styles": [],
"timeStamp": 1479159900151,
@ -837,14 +796,6 @@ stubPackets.set("console.log('鼬')", {
"groupName": "",
"level": "log",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"styles": [],
"timeStamp": 1479159901470,
@ -866,14 +817,6 @@ stubPackets.set("console.clear()", {
"groupName": "",
"level": "clear",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159902721,
"timer": null,
@ -900,14 +843,6 @@ stubPackets.set("console.count('bar')", {
"groupName": "",
"level": "count",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159903982,
"timer": null,
@ -952,14 +887,6 @@ stubPackets.set("console.assert(false, {message: 'foobar'})", {
"groupName": "",
"level": "assert",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"styles": [],
"timeStamp": 1479159905182,
@ -992,14 +919,6 @@ stubPackets.set("console.log('hello \nfrom \rthe \"string world!')", {
"groupName": "",
"level": "log",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"styles": [],
"timeStamp": 1479159906444,
@ -1023,14 +942,6 @@ stubPackets.set("console.log('úṇĩçödê țĕșť')", {
"groupName": "",
"level": "log",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"styles": [],
"timeStamp": 1479159907704,
@ -1052,7 +963,7 @@ stubPackets.set("console.dirxml(window)", {
"extensible": true,
"frozen": false,
"sealed": false,
"ownPropertyLength": 812,
"ownPropertyLength": 811,
"preview": {
"kind": "ObjectWithURL",
"url": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html"
@ -1066,14 +977,6 @@ stubPackets.set("console.dirxml(window)", {
"groupName": "",
"level": "dirxml",
"lineNumber": 1,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159908948,
"timer": null,
@ -1095,14 +998,6 @@ stubPackets.set("console.trace()", {
"groupName": "",
"level": "trace",
"lineNumber": 3,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159910198,
"timer": null,
@ -1149,14 +1044,6 @@ stubPackets.set("console.time('bar')", {
"groupName": "",
"level": "time",
"lineNumber": 2,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159911476,
"timer": {
@ -1183,14 +1070,6 @@ stubPackets.set("console.timeEnd('bar')", {
"groupName": "",
"level": "timeEnd",
"lineNumber": 3,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159911478,
"timer": {
@ -1217,14 +1096,6 @@ stubPackets.set("console.table('bar')", {
"groupName": "",
"level": "table",
"lineNumber": 2,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159912655,
"timer": null,
@ -1265,14 +1136,6 @@ stubPackets.set("console.table(['a', 'b', 'c'])", {
"groupName": "",
"level": "table",
"lineNumber": 2,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159913807,
"timer": null,
@ -1296,14 +1159,6 @@ stubPackets.set("console.group('bar')", {
"groupName": "bar",
"level": "group",
"lineNumber": 2,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159914984,
"timer": null,
@ -1327,14 +1182,6 @@ stubPackets.set("console.groupEnd('bar')", {
"groupName": "bar",
"level": "groupEnd",
"lineNumber": 3,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159914987,
"timer": null,
@ -1358,14 +1205,6 @@ stubPackets.set("console.groupCollapsed('foo')", {
"groupName": "foo",
"level": "groupCollapsed",
"lineNumber": 2,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159916153,
"timer": null,
@ -1389,14 +1228,6 @@ stubPackets.set("console.groupEnd('foo')", {
"groupName": "foo",
"level": "groupEnd",
"lineNumber": 3,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159916155,
"timer": null,
@ -1418,14 +1249,6 @@ stubPackets.set("console.group()", {
"groupName": "",
"level": "group",
"lineNumber": 2,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159917524,
"timer": null,
@ -1447,14 +1270,6 @@ stubPackets.set("console.groupEnd()", {
"groupName": "",
"level": "groupEnd",
"lineNumber": 3,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"timeStamp": 1479159917526,
"timer": null,
@ -1479,14 +1294,6 @@ stubPackets.set("console.log(%cfoobar)", {
"groupName": "",
"level": "log",
"lineNumber": 2,
"originAttributes": {
"addonId": "",
"appId": 0,
"firstPartyDomain": "",
"inIsolatedMozBrowser": false,
"privateBrowsingId": 0,
"userContextId": 0
},
"private": false,
"styles": [
"color:blue;font-size:1.3em;background:url('http://example.com/test');position:absolute;top:10px",
@ -1499,8 +1306,7 @@ stubPackets.set("console.log(%cfoobar)", {
}
});
module.exports = {
stubPreparedMessages,
stubPackets,
}
};

View file

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/* eslint-disable max-len */
"use strict";
@ -7,12 +8,11 @@
* THIS FILE IS AUTOGENERATED. DO NOT MODIFY BY HAND. RUN TESTS IN FIXTURES/ TO UPDATE.
*/
const { ConsoleMessage, NetworkEventMessage } = require("devtools/client/webconsole/new-console-output/types");
const { ConsoleMessage } =
require("devtools/client/webconsole/new-console-output/types");
let stubPreparedMessages = new Map();
let stubPackets = new Map();
stubPreparedMessages.set("Unknown property such-unknown-property. Declaration dropped.", new ConsoleMessage({
"id": "1",
"allowRepeating": true,
@ -55,7 +55,6 @@ stubPreparedMessages.set("Error in parsing value for padding-top. Declara
"userProvidedStyles": null
}));
stubPackets.set("Unknown property such-unknown-property. Declaration dropped.", {
"from": "server1.conn0.child1/consoleActor2",
"type": "pageError",
@ -100,8 +99,7 @@ stubPackets.set("Error in parsing value for padding-top. Declaration drop
}
});
module.exports = {
stubPreparedMessages,
stubPackets,
}
};

View file

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/* eslint-disable max-len */
"use strict";
@ -7,12 +8,11 @@
* THIS FILE IS AUTOGENERATED. DO NOT MODIFY BY HAND. RUN TESTS IN FIXTURES/ TO UPDATE.
*/
const { ConsoleMessage, NetworkEventMessage } = require("devtools/client/webconsole/new-console-output/types");
const { ConsoleMessage } =
require("devtools/client/webconsole/new-console-output/types");
let stubPreparedMessages = new Map();
let stubPackets = new Map();
stubPreparedMessages.set("new Date(0)", new ConsoleMessage({
"id": "1",
"allowRepeating": true,
@ -87,7 +87,6 @@ stubPreparedMessages.set("1 + @", new ConsoleMessage({
"userProvidedStyles": null
}));
stubPackets.set("new Date(0)", {
"from": "server1.conn0.child1/consoleActor2",
"input": "new Date(0)",
@ -178,8 +177,7 @@ stubPackets.set("1 + @", {
"helperResult": null
});
module.exports = {
stubPreparedMessages,
stubPackets,
}
};

View file

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/* eslint-disable max-len */
"use strict";
@ -7,12 +8,11 @@
* THIS FILE IS AUTOGENERATED. DO NOT MODIFY BY HAND. RUN TESTS IN FIXTURES/ TO UPDATE.
*/
const { ConsoleMessage, NetworkEventMessage } = require("devtools/client/webconsole/new-console-output/types");
const { NetworkEventMessage } =
require("devtools/client/webconsole/new-console-output/types");
let stubPreparedMessages = new Map();
let stubPackets = new Map();
stubPreparedMessages.set("GET request", new NetworkEventMessage({
"id": "1",
"actor": "server1.conn0.child1/netEvent29",
@ -61,7 +61,6 @@ stubPreparedMessages.set("XHR POST request", new NetworkEventMessage({
"groupId": null
}));
stubPackets.set("GET request", {
"from": "server1.conn0.child1/consoleActor2",
"type": "networkEvent",
@ -185,8 +184,7 @@ stubPackets.set("XHR POST request", {
}
});
module.exports = {
stubPreparedMessages,
stubPackets,
}
};

View file

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/* eslint-disable max-len */
"use strict";
@ -7,22 +8,22 @@
* THIS FILE IS AUTOGENERATED. DO NOT MODIFY BY HAND. RUN TESTS IN FIXTURES/ TO UPDATE.
*/
const { ConsoleMessage, NetworkEventMessage } = require("devtools/client/webconsole/new-console-output/types");
const { ConsoleMessage } =
require("devtools/client/webconsole/new-console-output/types");
let stubPreparedMessages = new Map();
let stubPackets = new Map();
stubPreparedMessages.set("ReferenceError: asdf is not defined", new ConsoleMessage({
"id": "1",
"allowRepeating": true,
"source": "javascript",
"timeStamp": 1476573167137,
"type": "log",
"level": "error",
"messageText": "ReferenceError: asdf is not defined",
"parameters": null,
"repeat": 1,
"repeatId": "{\"id\":null,\"allowRepeating\":true,\"source\":\"javascript\",\"type\":\"log\",\"level\":\"error\",\"messageText\":\"ReferenceError: asdf is not defined\",\"parameters\":null,\"repeatId\":null,\"stacktrace\":[{\"filename\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=Reference%20Error\",\"lineNumber\":3,\"columnNumber\":5,\"functionName\":\"bar\"},{\"filename\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=Reference%20Error\",\"lineNumber\":6,\"columnNumber\":5,\"functionName\":\"foo\"},{\"filename\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=Reference%20Error\",\"lineNumber\":9,\"columnNumber\":3,\"functionName\":null}],\"frame\":{\"source\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=Reference%20Error\",\"line\":3,\"column\":5},\"groupId\":null,\"exceptionDocURL\":\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Errors/Not_defined?utm_source=mozilla&utm_medium=firefox-console-errors&utm_campaign=default\"}",
"repeatId": "{\"id\":null,\"allowRepeating\":true,\"source\":\"javascript\",\"timeStamp\":1476573167137,\"type\":\"log\",\"level\":\"error\",\"messageText\":\"ReferenceError: asdf is not defined\",\"parameters\":null,\"repeatId\":null,\"stacktrace\":[{\"filename\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=Reference%20Error\",\"lineNumber\":3,\"columnNumber\":5,\"functionName\":\"bar\"},{\"filename\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=Reference%20Error\",\"lineNumber\":6,\"columnNumber\":5,\"functionName\":\"foo\"},{\"filename\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=Reference%20Error\",\"lineNumber\":9,\"columnNumber\":3,\"functionName\":null}],\"frame\":{\"source\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=Reference%20Error\",\"line\":3,\"column\":5},\"groupId\":null,\"exceptionDocURL\":\"https://developer.mozilla.org/docs/Web/JavaScript/Reference/Errors/Not_defined?utm_source=mozilla&utm_medium=firefox-console-errors&utm_campaign=default\",\"userProvidedStyles\":null}",
"stacktrace": [
{
"filename": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-tempfile.js?key=Reference%20Error",
@ -49,10 +50,10 @@ stubPreparedMessages.set("ReferenceError: asdf is not defined", new ConsoleMessa
"column": 5
},
"groupId": null,
"exceptionDocURL": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Errors/Not_defined?utm_source=mozilla&utm_medium=firefox-console-errors&utm_campaign=default"
"exceptionDocURL": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Errors/Not_defined?utm_source=mozilla&utm_medium=firefox-console-errors&utm_campaign=default",
"userProvidedStyles": null
}));
stubPackets.set("ReferenceError: asdf is not defined", {
"from": "server1.conn0.child1/consoleActor2",
"type": "pageError",
@ -95,8 +96,7 @@ stubPackets.set("ReferenceError: asdf is not defined", {
}
});
module.exports = {
stubPreparedMessages,
stubPackets,
}
};

View file

@ -137,10 +137,12 @@ add_task(function* () {
is(consoleTableNodes.length, testCases.length,
"console has the expected number of consoleTable items");
testCases.forEach((testCase, index) => {
testCases.forEach((testCase, index) => testItem(testCase, nodes[index]));
});
function testItem(testCase, node) {
info(testCase.info);
let node = nodes[index];
let columns = Array.from(node.querySelectorAll("thead th"));
let rows = Array.from(node.querySelectorAll("tbody tr"));
@ -163,8 +165,7 @@ add_task(function* () {
is(expectedCell, cell.textContent, "cell has the expected content");
});
});
});
});
}
function findConsoleTable(node, index) {
let condition = node.querySelector(

View file

@ -19,15 +19,15 @@ add_task(function* () {
let receievedMessages = waitForMessages({
hud,
messages: [{
text: '0',
text: "0",
}, {
text: '1',
text: "1",
}, {
text: '2',
text: "2",
}],
});
yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function() {
yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function () {
content.wrappedJSObject.doLogs(3);
});

View file

@ -21,6 +21,8 @@ add_task(function* () {
});
function setupObserver() {
const { XPCOMUtils } = Cu.import("resource://gre/modules/XPCOMUtils.jsm", {});
const observer = {
QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver]),
@ -34,7 +36,8 @@ function setupObserver() {
created = true;
break;
case "web-console-destroyed":
ok(!HUDService.getHudReferenceById(subject.data), "We do not have a hud reference");
ok(!HUDService.getHudReferenceById(subject.data),
"We do not have a hud reference");
Services.obs.removeObserver(observer, "web-console-destroyed");
destroyed = true;
break;

View file

@ -3,6 +3,7 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
/* import-globals-from ../../../../framework/test/shared-head.js */
/* exported WCUL10n, openNewTabAndConsole, waitForMessages, waitFor, findMessage */
"use strict";
@ -50,23 +51,27 @@ var openNewTabAndConsole = Task.async(function* (url) {
*
* @param object options
* - hud: the webconsole
* - messages: Array[Object]. An array of messages to match. Current supported options:
* - messages: Array[Object]. An array of messages to match.
Current supported options:
* - text: Exact text match in .message-body
*/
function waitForMessages({ hud, messages }) {
return new Promise(resolve => {
let numMatched = 0;
let receivedLog = hud.ui.on("new-messages", function messagesReceieved(e, newMessages) {
let receivedLog = hud.ui.on("new-messages",
function messagesReceieved(e, newMessages) {
for (let message of messages) {
if (message.matched) {
continue;
}
for (let newMessage of newMessages) {
if (newMessage.node.querySelector(".message-body").textContent == message.text) {
let messageBody = newMessage.node.querySelector(".message-body");
if (messageBody.textContent == message.text) {
numMatched++;
message.matched = true;
info("Matched a message with text: " + message.text + ", still waiting for " + (messages.length - numMatched) + " messages");
info("Matched a message with text: " + message.text +
", still waiting for " + (messages.length - numMatched) + " messages");
break;
}
}

View file

@ -7,6 +7,7 @@
<body>
<p>batch console calls test page</p>
<script>
/* exported batchLog, batchLogAndClear */
"use strict";
function batchLog(numMessages = 0) {

View file

@ -7,6 +7,8 @@
<body>
<p>Webconsole filters test page</p>
<script>
"use strict";
console.log("console log");
console.warn("console warn");
console.error("console error");

View file

@ -7,6 +7,7 @@
<body>
<p>console.group() & console.groupCollapsed() test page</p>
<script>
/* exported doLog */
"use strict";
function doLog() {

View file

@ -7,6 +7,9 @@
<body>
<p>console.table() test page</p>
<script>
/* exported doConsoleTable */
"use strict";
function doConsoleTable(data, constrainedHeaders = null) {
if (constrainedHeaders) {
console.table(data, constrainedHeaders);

View file

@ -7,9 +7,12 @@
<body>
<p>Simple webconsole test page</p>
<script>
/* exported doLogs */
"use strict";
function doLogs(num) {
num = num || 1;
for (var i = 0; i < num; i++) {
for (let i = 0; i < num; i++) {
console.log(i);
}
}

View file

@ -39,4 +39,5 @@ requireHacker.global_hook("default", path => {
case "devtools/shared/client/main":
return `module.exports = require("devtools/client/webconsole/new-console-output/test/fixtures/ObjectClient")`;
}
return undefined;
});