From 52dd931bdb917df282e4ec35bfb855624c9c2cf4 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Wed, 22 Apr 2015 22:58:06 +0100 Subject: [PATCH] mediawiki.log: Introduce mw.log.error In addition to mw.log.warn, but for the console.error channel. Change-Id: I7b09a75da6c985a9e0cc73591f49b21972efd393 --- resources/src/mediawiki/mediawiki.js | 16 ++++++++++++++++ resources/src/mediawiki/mediawiki.log.js | 1 + tests/qunit/data/testrunner.js | 9 ++++++--- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/resources/src/mediawiki/mediawiki.js b/resources/src/mediawiki/mediawiki.js index ee57c21f17..237157c75f 100644 --- a/resources/src/mediawiki/mediawiki.js +++ b/resources/src/mediawiki/mediawiki.js @@ -589,6 +589,22 @@ } }; + /** + * Write a message the console's error channel. + * + * Most browsers provide a stacktrace by default if the argument + * is a caught Error object. + * + * @since 1.26 + * @param {Error|string...} msg Messages to output to console + */ + log.error = function () { + var console = window.console; + if ( console && console.error && console.error.apply ) { + console.error.apply( console, arguments ); + } + }; + /** * Create a property in a host object that, when accessed, will produce * a deprecation warning in the console with backtrace. diff --git a/resources/src/mediawiki/mediawiki.log.js b/resources/src/mediawiki/mediawiki.log.js index ad68967a02..053fb1a12e 100644 --- a/resources/src/mediawiki/mediawiki.log.js +++ b/resources/src/mediawiki/mediawiki.log.js @@ -79,6 +79,7 @@ // Restore original methods mw.log.warn = original.warn; + mw.log.error = original.error; mw.log.deprecate = original.deprecate; }( mediaWiki, jQuery ) ); diff --git a/tests/qunit/data/testrunner.js b/tests/qunit/data/testrunner.js index 3c44b558a8..3dd2af69bc 100644 --- a/tests/qunit/data/testrunner.js +++ b/tests/qunit/data/testrunner.js @@ -179,7 +179,7 @@ * */ QUnit.newMwEnvironment = ( function () { - var warn, log, liveConfig, liveMessages, + var warn, error, log, liveConfig, liveMessages, ajaxRequests = []; liveConfig = mw.config.values; @@ -187,13 +187,16 @@ function suppressWarnings() { warn = mw.log.warn; - mw.log.warn = $.noop; + error = mw.log.error; + mw.log.warn = mw.log.error = $.noop; } function restoreWarnings() { + // Guard against calls not balanced with suppressWarnings() if ( warn !== undefined ) { mw.log.warn = warn; - warn = undefined; + mw.log.error = error; + warn = error = undefined; } } -- 2.20.1