mirror of
https://github.com/jsdoc/jsdoc.git
synced 2025-12-08 19:46:11 +00:00
72 lines
1.8 KiB
JavaScript
72 lines
1.8 KiB
JavaScript
var assert = require('common/assert');
|
|
|
|
var passCount = 0,
|
|
failCount = 0,
|
|
errorLog = [],
|
|
currentTestFile = '';
|
|
|
|
function test(description, f) {
|
|
try {
|
|
f();
|
|
passCount++;
|
|
}
|
|
catch(e) {
|
|
errorLog.push(description + (currentTestFile? ' ['+currentTestFile+']':'') + '\n' + (e.message||'') + '\n - Expected: ' + e.expected + '\n - Actual: ' + e.actual);
|
|
failCount++;
|
|
}
|
|
}
|
|
|
|
function testFile(filepath) {
|
|
currentTestFile = filepath;
|
|
include(filepath);
|
|
currentTestFile = '';
|
|
}
|
|
|
|
function report() {
|
|
print('\033[032mPASSED: ' + passCount + ' test' + (passCount == 1? '' : 's') + '.\033[0m');
|
|
if (failCount) {
|
|
print('\033[031mFAILED: '+ failCount + ' test' + (passCount == 1? '' : 's') + '.\033[0m');
|
|
for (var i = 0, leni = errorLog.length; i < leni; i++) {
|
|
print(' ' + (i+1) + '. ' + (i+1 < 10? ' ' : '') + (errorLog[i]||'') + '\n');
|
|
}
|
|
}
|
|
}
|
|
|
|
// helpers
|
|
var testhelpers = {
|
|
getDocSetFromFile: function(filename) {
|
|
var sourceCode = readFile(BASEDIR + filename),
|
|
docs;
|
|
|
|
app.jsdoc.parser = new (require('jsdoc/src/parser')).Parser();
|
|
require('jsdoc/src/handlers');
|
|
docs = app.jsdoc.parser.parse('javascript:' + sourceCode);
|
|
|
|
return new (require('jsdoc/docset')).DocSet(docs);
|
|
}
|
|
};
|
|
|
|
testFile('test/t/common/dumper.js');
|
|
testFile('test/t/jsdoc/opts/parser.js');
|
|
testFile('test/t/jsdoc/src/parser.js');
|
|
|
|
testFile('test/t/cases/file.js');
|
|
|
|
testFile('test/t/cases/virtual.js');
|
|
|
|
testFile('test/t/cases/objectlit.js');
|
|
testFile('test/t/cases/objectlit2.js');
|
|
|
|
testFile('test/t/cases/this.js');
|
|
testFile('test/t/cases/this2.js');
|
|
testFile('test/t/cases/this3.js');
|
|
|
|
testFile('test/t/cases/this-and-objectlit.js');
|
|
|
|
testFile('test/t/cases/var.js');
|
|
|
|
testFile('test/t/cases/inner.js');
|
|
|
|
report();
|
|
|