mirror of
https://github.com/konvajs/konva.git
synced 2026-03-03 16:58:33 +08:00
checking in jsdoc dir so people can generate docs themselves
This commit is contained in:
72
jsdoc-master/test/specs/jshint/jshint-clean.js
Normal file
72
jsdoc-master/test/specs/jshint/jshint-clean.js
Normal file
@@ -0,0 +1,72 @@
|
||||
/*global app: true, beforeEach: true, describe: true, env: true, expect: true, it: true */
|
||||
var async = require('async'),
|
||||
fs = require('jsdoc/fs'),
|
||||
path = require('path');
|
||||
|
||||
var config = JSON.parse( fs.readFileSync( path.join(__dirname, '.jshintrc'), 'utf8' ) );
|
||||
|
||||
function jsHintCheck(filename, callback) {
|
||||
var JSHINT = require('jshint').JSHINT;
|
||||
var jsHintErrors;
|
||||
|
||||
fs.readFile(filename, 'utf8', function(err, data) {
|
||||
if (err) {
|
||||
callback(err);
|
||||
} else {
|
||||
JSHINT(data, config);
|
||||
if (JSHINT.errors.length) {
|
||||
jsHintErrors = filename + ' is not JSHint clean: ' + JSON.stringify(JSHINT.errors);
|
||||
}
|
||||
|
||||
callback(null, jsHintErrors);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
describe('jshint-clean', function() {
|
||||
it('should generate JSHint errors for bad code', function(done) {
|
||||
var file = path.join(__dirname, 'test', 'fixtures', 'jshint', 'badfile.js');
|
||||
|
||||
jsHintCheck(file, function(err, jsHintErrors) {
|
||||
expect(err).toBeFalsy();
|
||||
expect(jsHintErrors).toBeDefined();
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should not generate JSHint errors for good code', function(done) {
|
||||
var file = path.join(__dirname, 'test', 'fixtures', 'jshint', 'goodfile.js');
|
||||
|
||||
jsHintCheck(file, function(err, jsHintErrors) {
|
||||
expect(err).toBeFalsy();
|
||||
expect(jsHintErrors).toBeUndefined();
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should not find JSHint errors in JSDoc', function(done) {
|
||||
var files,
|
||||
filter,
|
||||
source;
|
||||
|
||||
// check all .js files unless they're tests; rhino shim files that probably can't be
|
||||
// delinted; or third-party modules
|
||||
source = {
|
||||
includePattern: '.+[\\|/]lib[\\|/].+\\.js$|.+[\\|/]plugins[\\|/]\\w+\\.js$',
|
||||
excludePattern: '.+[\\|/]test[\\|/].+|.+[\\|/]node_modules[\\|/].+|.+[\\|/]Jake[\\|/].+'
|
||||
};
|
||||
filter = new (require('jsdoc/src/filter').Filter)(source);
|
||||
|
||||
files = app.jsdoc.scanner.scan([__dirname], 10, filter);
|
||||
|
||||
async.forEach(files, function(file, cb) {
|
||||
jsHintCheck(file, function(err, jsHintErrors) {
|
||||
expect(jsHintErrors).toBeUndefined();
|
||||
cb(err);
|
||||
});
|
||||
}, function(err) {
|
||||
expect(err).toBeFalsy();
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user