2013-12-15 15:54:50 -05:00
|
|
|
var assert = require('assert')
|
|
|
|
, validate = require('../../lib/utils').validate_name
|
|
|
|
|
2013-12-19 10:11:54 -05:00
|
|
|
describe('Validate', function() {
|
|
|
|
it('good ones', function() {
|
2013-12-15 15:54:50 -05:00
|
|
|
assert(validate('sinopia'))
|
|
|
|
assert(validate('some.weird.package-zzz'))
|
2013-12-19 10:11:54 -05:00
|
|
|
})
|
2013-12-15 15:54:50 -05:00
|
|
|
|
2013-12-19 10:11:54 -05:00
|
|
|
it('uppercase', function() {
|
2013-12-15 15:54:50 -05:00
|
|
|
assert(validate('EVE'))
|
|
|
|
assert(validate('JSONStream'))
|
2013-12-19 10:11:54 -05:00
|
|
|
})
|
2013-12-15 15:54:50 -05:00
|
|
|
|
2013-12-19 10:11:54 -05:00
|
|
|
it('no package.json', function() {
|
2013-12-15 15:54:50 -05:00
|
|
|
assert(!validate('package.json'))
|
2013-12-19 10:11:54 -05:00
|
|
|
})
|
2013-12-15 15:54:50 -05:00
|
|
|
|
2013-12-19 10:11:54 -05:00
|
|
|
it('no path seps', function() {
|
2013-12-15 15:54:50 -05:00
|
|
|
assert(!validate('some/thing'))
|
|
|
|
assert(!validate('some\\thing'))
|
2013-12-19 10:11:54 -05:00
|
|
|
})
|
2013-12-15 15:54:50 -05:00
|
|
|
|
2013-12-19 10:11:54 -05:00
|
|
|
it('no hidden', function() {
|
2013-12-15 15:54:50 -05:00
|
|
|
assert(!validate('.bin'))
|
2013-12-19 10:11:54 -05:00
|
|
|
})
|
2013-12-15 15:54:50 -05:00
|
|
|
|
2013-12-19 10:11:54 -05:00
|
|
|
it('no reserved', function() {
|
2013-12-15 15:54:50 -05:00
|
|
|
assert(!validate('favicon.ico'))
|
|
|
|
assert(!validate('node_modules'))
|
|
|
|
assert(!validate('__proto__'))
|
2013-12-19 10:11:54 -05:00
|
|
|
})
|
2013-12-15 15:54:50 -05:00
|
|
|
|
2013-12-19 10:11:54 -05:00
|
|
|
it('other', function() {
|
2013-12-15 15:54:50 -05:00
|
|
|
assert(!validate('pkg@'))
|
|
|
|
assert(!validate('pk g'))
|
|
|
|
assert(!validate('pk\tg'))
|
|
|
|
assert(!validate('pk%20g'))
|
|
|
|
assert(!validate('pk+g'))
|
|
|
|
assert(!validate('pk:g'))
|
2013-12-19 10:11:54 -05:00
|
|
|
})
|
|
|
|
})
|