mirror of https://github.com/lukechilds/node.git
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
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()
|
|
})
|
|
|