mirror of https://github.com/pelias/api.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
2.7 KiB
110 lines
2.7 KiB
const Debug = require('../../../helper/debug'); |
|
|
|
module.exports.tests = {}; |
|
|
|
module.exports.tests.debug = function(test, common) { |
|
test('initialize the debugger with a name', (t) => { |
|
const debugLog = new Debug('debugger'); |
|
t.deepEquals(debugLog.name, 'debugger'); |
|
t.end(); |
|
}); |
|
|
|
test('don\'t push debug message if enableDebug is false', (t) => { |
|
const debugLog = new Debug('debugger'); |
|
const req = { |
|
clean: { |
|
enableDebug: false |
|
} |
|
}; |
|
debugLog.push(req, 'This should not be pushed'); |
|
t.deepEquals(req.debug, undefined); |
|
t.end(); |
|
}); |
|
|
|
test('don\'t start timer if enableDebug is false', (t) => { |
|
const debugLog = new Debug('debugger'); |
|
const req = { |
|
clean: { |
|
enableDebug: false |
|
} |
|
}; |
|
debugLog.beginTimer(req, 'This should not be pushed'); |
|
t.deepEquals(req.debug, undefined); |
|
t.end(); |
|
}); |
|
|
|
test('don\'t push debug message if req.clean is empty', (t) => { |
|
const debugLog = new Debug('debugger'); |
|
const req = { |
|
clean: {} |
|
}; |
|
debugLog.push('This should not be pushed'); |
|
t.deepEquals(req.debug, undefined); |
|
t.end(); |
|
}); |
|
|
|
test('Push messages if enableDebug is true', (t) => { |
|
const debugLog = new Debug('debugger'); |
|
const req = { |
|
clean: { |
|
enableDebug: true |
|
} |
|
}; |
|
const expected_req = [ |
|
{ |
|
debugger: 'This should be pushed' |
|
}, |
|
{ |
|
debugger: 'Timer Began. Timer 1' |
|
} |
|
]; |
|
debugLog.push(req, 'This should be pushed'); |
|
debugLog.beginTimer(req, 'Timer 1'); |
|
t.deepEquals(req.debug, expected_req); |
|
t.end(); |
|
}); |
|
|
|
test('Push messages can take output of function', (t) => { |
|
const debugLog = new Debug('debugger'); |
|
const req = { |
|
clean: { |
|
enableDebug: true |
|
} |
|
}; |
|
const expected_req = [ |
|
{ |
|
debugger: 'This should be pushed' |
|
} |
|
]; |
|
debugLog.push(req, () => ('This should be pushed')); |
|
t.deepEquals(req.debug, expected_req); |
|
t.end(); |
|
}); |
|
|
|
test('Timer should return number of milliseconds', (t) => { |
|
const debugLog = new Debug('debugger'); |
|
const req = { |
|
clean: { |
|
enableDebug: true |
|
} |
|
}; |
|
const timer = debugLog.beginTimer(req); |
|
debugLog.stopTimer(req, timer); |
|
// Checks that there is a debug message |
|
// that matches the pattern "Timer Stopped. [number] ms" |
|
t.deepEquals(req.debug[1].debugger.match(/Timer Stopped\. \d+ ms/i).length, 1); |
|
t.end(); |
|
}); |
|
|
|
}; |
|
|
|
module.exports.all = function (tape, common) { |
|
|
|
function test(name, testFunction) { |
|
return tape('[helper] debug: ' + name, testFunction); |
|
} |
|
|
|
for( var testCase in module.exports.tests ){ |
|
module.exports.tests[testCase](test, common); |
|
} |
|
};
|
|
|