1'use strict' 2var test = require('tap').test 3var packageId = require('../../lib/utils/package-id.js') 4 5test('packageId', function (t) { 6 t.is(packageId({package: {_id: 'abc@123'}}), 'abc@123', 'basic') 7 t.is(packageId({_id: 'abc@123'}), 'abc@123', 'basic no tree') 8 t.is(packageId({package: {name: 'abc', version: '123'}}), 'abc@123', 'computed') 9 t.is(packageId({package: {_id: '@', name: 'abc', version: '123'}}), 'abc@123', 'computed, ignore invalid id') 10 t.is(packageId({package: {name: 'abc'}}), 'abc', 'no version') 11 t.is(packageId({package: {version: '123'}}), '!invalid#1@123', 'version, no name') 12 t.is(packageId({package: {version: '123'}, path: '/path/to/abc'}), 'abc@123', 'version path-name') 13 t.is(packageId({package: {version: '123'}, path: '/path/@to/abc'}), '@to/abc@123', 'version scoped-path-name') 14 t.is(packageId({path: '/path/to/abc'}), 'abc', 'path name, no version') 15 t.is(packageId({}), '!invalid#2', 'nothing') 16 t.done() 17}) 18