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
|
|
|
|
2017-11-01 17:47:20 +01:00
|
|
|
describe('Validate', () => {
|
|
|
|
test('good ones', () => {
|
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
|
|
|
|
2017-11-01 17:47:20 +01:00
|
|
|
test('uppercase', () => {
|
2017-04-19 21:15:28 +02:00
|
|
|
assert( validate('EVE') );
|
|
|
|
assert( validate('JSONStream') );
|
|
|
|
});
|
2013-12-15 21:54:50 +01:00
|
|
|
|
2017-11-01 17:47:20 +01:00
|
|
|
test('no package.json', () => {
|
2017-04-19 21:15:28 +02:00
|
|
|
assert( !validate('package.json') );
|
|
|
|
});
|
2013-12-15 21:54:50 +01:00
|
|
|
|
2017-11-01 17:47:20 +01:00
|
|
|
test('no path seps', () => {
|
2017-04-19 21:15:28 +02:00
|
|
|
assert( !validate('some/thing') );
|
|
|
|
assert( !validate('some\\thing') );
|
|
|
|
});
|
2015-03-28 19:25:53 +01:00
|
|
|
|
2017-11-01 17:47:20 +01:00
|
|
|
test('no hidden', () => {
|
2017-04-19 21:15:28 +02:00
|
|
|
assert( !validate('.bin') );
|
|
|
|
});
|
2015-03-28 19:25:53 +01:00
|
|
|
|
2017-11-01 17:47:20 +01:00
|
|
|
test('no reserved', () => {
|
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
|
|
|
|
2017-11-01 17:47:20 +01:00
|
|
|
test('other', () => {
|
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') );
|
|
|
|
});
|
|
|
|
});
|