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