44 lines
1.5 KiB
JavaScript
44 lines
1.5 KiB
JavaScript
/* eslint-disable no-console */
|
|
|
|
(function(QUnit) {
|
|
|
|
var logs, originalDebug = console.debug;
|
|
|
|
function spyDebug() {
|
|
logs.push(arguments);
|
|
originalDebug.apply(console, arguments);
|
|
}
|
|
|
|
QUnit.module('Backbone.debugInfo', {
|
|
|
|
beforeEach: function() {
|
|
logs = [];
|
|
console.debug = spyDebug;
|
|
},
|
|
|
|
afterEach: function() {
|
|
console.debug = originalDebug;
|
|
logs = undefined;
|
|
}
|
|
});
|
|
|
|
QUnit.test('debugInfo', function(assert) {
|
|
var info = Backbone.debugInfo();
|
|
assert.strictEqual(info.backbone, Backbone.VERSION, 'includes Backbone version');
|
|
assert.strictEqual(info.distribution, 'MARK_DEVELOPMENT', 'distribution mark sticks to development');
|
|
assert.strictEqual(info._, _.VERSION, 'includes Underscore version');
|
|
assert.strictEqual(info.$, $.fn.jquery, 'includes jQuery version');
|
|
if (typeof navigator !== 'undefined') {
|
|
assert.ok(typeof info.navigator === 'object');
|
|
assert.strictEqual(info.navigator.userAgent, navigator.userAgent, 'includes user agent');
|
|
assert.strictEqual(info.navigator.platform, navigator.platform, 'includes navigator platform');
|
|
assert.strictEqual(info.navigator.webdriver, navigator.webdriver, 'includes webdriver state');
|
|
}
|
|
assert.strictEqual(logs.length, 1, 'prints to console as side effect');
|
|
var debugArgs = logs[0];
|
|
var infoString = JSON.stringify(info, null, 4);
|
|
assert.strictEqual(debugArgs[1], infoString, 'prints payload as second argument');
|
|
});
|
|
|
|
})(QUnit);
|