2017-04-19 14:15:28 -05:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
let assert = require('assert');
|
2017-06-21 12:02:52 -05:00
|
|
|
let validate = require('../../src/lib/utils').validate_name;
|
2013-12-15 15:54:50 -05:00
|
|
|
|
2013-12-19 10:11:54 -05:00
|
|
|
describe('Validate', function() {
|
2014-11-12 06:14:37 -05:00
|
|
|
it('good ones', function() {
|
2017-04-19 14:15:28 -05:00
|
|
|
assert( validate('verdaccio') );
|
|
|
|
assert( validate('some.weird.package-zzz') );
|
|
|
|
assert( validate('old-package@0.1.2.tgz') );
|
|
|
|
});
|
2013-12-15 15:54:50 -05:00
|
|
|
|
2014-11-12 06:14:37 -05:00
|
|
|
it('uppercase', function() {
|
2017-04-19 14:15:28 -05:00
|
|
|
assert( validate('EVE') );
|
|
|
|
assert( validate('JSONStream') );
|
|
|
|
});
|
2013-12-15 15:54:50 -05:00
|
|
|
|
2014-11-12 06:14:37 -05:00
|
|
|
it('no package.json', function() {
|
2017-04-19 14:15:28 -05:00
|
|
|
assert( !validate('package.json') );
|
|
|
|
});
|
2013-12-15 15:54:50 -05:00
|
|
|
|
2014-11-12 06:14:37 -05:00
|
|
|
it('no path seps', function() {
|
2017-04-19 14:15:28 -05:00
|
|
|
assert( !validate('some/thing') );
|
|
|
|
assert( !validate('some\\thing') );
|
|
|
|
});
|
2015-03-28 13:25:53 -05:00
|
|
|
|
2014-11-12 06:14:37 -05:00
|
|
|
it('no hidden', function() {
|
2017-04-19 14:15:28 -05:00
|
|
|
assert( !validate('.bin') );
|
|
|
|
});
|
2015-03-28 13:25:53 -05:00
|
|
|
|
2014-11-12 06:14:37 -05:00
|
|
|
it('no reserved', function() {
|
2017-04-19 14:15:28 -05:00
|
|
|
assert( !validate('favicon.ico') );
|
|
|
|
assert( !validate('node_modules') );
|
|
|
|
assert( !validate('__proto__') );
|
|
|
|
});
|
2013-12-15 15:54:50 -05:00
|
|
|
|
2014-11-12 06:14:37 -05:00
|
|
|
it('other', function() {
|
2017-04-19 14:15:28 -05:00
|
|
|
assert( !validate('pk g') );
|
|
|
|
assert( !validate('pk\tg') );
|
|
|
|
assert( !validate('pk%20g') );
|
|
|
|
assert( !validate('pk+g') );
|
|
|
|
assert( !validate('pk:g') );
|
|
|
|
});
|
|
|
|
});
|