You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

104 lines
2.5 KiB

var npa = require('../npa.js')
require('tap').test('basic', function (t) {
t.setMaxListeners(999)
var tests = {
'user/foo-js': {
name: null,
type: 'hosted',
hosted: { type: 'github' },
spec: 'github:user/foo-js',
raw: 'user/foo-js'
},
'user/foo-js#bar/baz': {
name: null,
type: 'hosted',
hosted: { type: 'github' },
spec: 'github:user/foo-js#bar/baz',
raw: 'user/foo-js#bar/baz'
},
'user..blerg--/..foo-js# . . . . . some . tags / / /': {
name: null,
type: 'hosted',
hosted: { type: 'github' },
spec: 'github:user..blerg--/..foo-js# . . . . . some . tags / / /',
raw: 'user..blerg--/..foo-js# . . . . . some . tags / / /'
},
'user/foo-js#bar/baz/bin': {
name: null,
type: 'hosted',
hosted: { type: 'github' },
raw: 'user/foo-js#bar/baz/bin'
},
'foo@user/foo-js': {
name: 'foo',
type: 'hosted',
hosted: { type: 'github' },
spec: 'github:user/foo-js',
raw: 'foo@user/foo-js'
},
'github:user/foo-js': {
name: null,
type: 'hosted',
hosted: { type: 'github' },
spec: 'github:user/foo-js',
raw: 'github:user/foo-js'
},
'git+ssh://git@github.com/user/foo#1.2.3': {
name: null,
type: 'hosted',
hosted: { type: 'github' },
spec: 'git+ssh://git@github.com/user/foo.git#1.2.3',
raw: 'git+ssh://git@github.com/user/foo#1.2.3'
},
'git://github.com/user/foo': {
name: null,
type: 'hosted',
hosted: { type: 'github' },
spec: 'git://github.com/user/foo.git',
raw: 'git://github.com/user/foo'
},
'https://github.com/user/foo.git': {
name: null,
type: 'hosted',
hosted: { type: 'github' },
spec: 'git+https://github.com/user/foo.git',
raw: 'https://github.com/user/foo.git'
},
'@foo/bar@git+ssh://github.com/user/foo': {
name: '@foo/bar',
scope: '@foo',
type: 'hosted',
hosted: { type: 'github' },
spec: 'git+ssh://git@github.com/user/foo.git',
rawSpec: 'git+ssh://github.com/user/foo',
raw: '@foo/bar@git+ssh://github.com/user/foo'
},
'foo@bar/foo': {
name: 'foo',
type: 'hosted',
hosted: { type: 'github' },
spec: 'github:bar/foo',
raw: 'foo@bar/foo'
}
}
Object.keys(tests).forEach(function (arg) {
var res = npa(arg)
t.type(res, 'Result', arg + ' is a result')
t.has(res, tests[arg], arg + ' matches expectations')
})
t.end()
})