michael@0: /* vim:set ts=2 sw=2 sts=2 et: */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: const TEST_URI = "http://example.com/browser/browser/devtools/webconsole/test/test-bug-585956-console-trace.html"; michael@0: michael@0: function test() { michael@0: Task.spawn(runner).then(finishTest); michael@0: michael@0: function* runner() { michael@0: let {tab} = yield loadTab("data:text/html;charset=utf8,
hello"); michael@0: let hud = yield openConsole(tab); michael@0: michael@0: content.location = TEST_URI; michael@0: michael@0: let [result] = yield waitForMessages({ michael@0: webconsole: hud, michael@0: messages: [{ michael@0: name: "console.trace output", michael@0: consoleTrace: { michael@0: file: "test-bug-585956-console-trace.html", michael@0: fn: "window.foobar585956c", michael@0: }, michael@0: }], michael@0: }); michael@0: michael@0: let node = [...result.matched][0]; michael@0: ok(node, "found trace log node"); michael@0: michael@0: let obj = node._messageObject; michael@0: ok(obj, "console.trace message object"); michael@0: michael@0: // The expected stack trace object. michael@0: let stacktrace = [ michael@0: { filename: TEST_URI, functionName: "window.foobar585956c", language: 2, lineNumber: 9 }, michael@0: { filename: TEST_URI, functionName: "foobar585956b", language: 2, lineNumber: 14 }, michael@0: { filename: TEST_URI, functionName: "foobar585956a", language: 2, lineNumber: 18 }, michael@0: { filename: TEST_URI, functionName: "", language: 2, lineNumber: 21 } michael@0: ]; michael@0: michael@0: ok(obj._stacktrace, "found stacktrace object"); michael@0: is(obj._stacktrace.toSource(), stacktrace.toSource(), "stacktrace is correct"); michael@0: isnot(node.textContent.indexOf("bug-585956"), -1, "found file name"); michael@0: } michael@0: }