Files
Yajbir Singh f1b860b25c
Some checks failed
check / markdownlint (push) Has been cancelled
check / spellchecker (push) Has been cancelled
updated
2025-12-11 19:03:17 +05:30

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);