1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/toolkit/devtools/pretty-fast/tests/unit/head_pretty-fast.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,45 @@ 1.4 +"use strict"; 1.5 +const Cc = Components.classes; 1.6 +const Ci = Components.interfaces; 1.7 +const Cu = Components.utils; 1.8 +const Cr = Components.results; 1.9 + 1.10 +const { devtools } = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}); 1.11 +const { require } = devtools; 1.12 + 1.13 +this.sourceMap = require("source-map"); 1.14 +this.acorn = require("acorn/acorn"); 1.15 +this.prettyFast = require("devtools/pretty-fast"); 1.16 +const { console } = Cu.import("resource://gre/modules/devtools/Console.jsm", {}); 1.17 + 1.18 +// Register a console listener, so console messages don't just disappear 1.19 +// into the ether. 1.20 +let errorCount = 0; 1.21 +let listener = { 1.22 + observe: function (aMessage) { 1.23 + errorCount++; 1.24 + try { 1.25 + // If we've been given an nsIScriptError, then we can print out 1.26 + // something nicely formatted, for tools like Emacs to pick up. 1.27 + var scriptError = aMessage.QueryInterface(Ci.nsIScriptError); 1.28 + dump(aMessage.sourceName + ":" + aMessage.lineNumber + ": " + 1.29 + scriptErrorFlagsToKind(aMessage.flags) + ": " + 1.30 + aMessage.errorMessage + "\n"); 1.31 + var string = aMessage.errorMessage; 1.32 + } catch (x) { 1.33 + // Be a little paranoid with message, as the whole goal here is to lose 1.34 + // no information. 1.35 + try { 1.36 + var string = "" + aMessage.message; 1.37 + } catch (x) { 1.38 + var string = "<error converting error message to string>"; 1.39 + } 1.40 + } 1.41 + 1.42 + do_throw("head_pretty-fast.js got console message: " + string + "\n"); 1.43 + } 1.44 +}; 1.45 + 1.46 +let consoleService = Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService); 1.47 +consoleService.registerListener(listener); 1.48 +