/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ var websocket = null var logger = (function () { let color = { red: '\u0033[1;31m', green: '\u0033[1;32m', clear: '\u0033[0m' } if (utils.platform.isWindows) { color = { red: '', green: '', clear: '' } } let sep = '\n/* ### NEXT TESTCASE ############################## */' function console (msg) { if (websocket) { websocket.send(msg) } if (typeof window === 'undefined') { print(msg) } else if (window.dump) { window.dump(msg) } else if (window.console && window.console.log) { window.console.log(msg) } else { throw new Error('Unable to run console logger.') } } function dump (msg) { console(msg) } function testcase (msg) { dump('/*L*/ ' + JSON.stringify(msg) + '\n') } function dumpln (msg) { dump(msg + '\n') } function error (msg) { dumpln(color.red + msg + color.clear) } function JSError (msg) { error(comment(msg)) } function comment (msg) { return '/* ' + msg + ' */' } function separator () { dumpln(color.green + sep + color.clear) } function traceback () { error('===[ Traceback ]') try { throw new Error() } catch (e) { dump(e.stack || e.stacktrace || '') } error('===') } return { console: console, dump: dump, error: error, JSError: JSError, dumpln: dumpln, comment: comment, testcase: testcase, separator: separator, traceback: traceback } })()