Add test for npm shrinkwrap compatibility

This commit is contained in:
Rico Sta. Cruz
2016-01-31 02:17:28 +08:00
parent a0ef27bb9c
commit c8d37605ed
2 changed files with 17 additions and 0 deletions

View File

@@ -40,6 +40,7 @@
"eslint-config-standard": "4.4.0",
"eslint-plugin-standard": "1.3.1",
"nixt": "0.5.0",
"npm": "3.6.0",
"sepia": "2.0.1",
"tap-spec": "4.1.1",
"tape": "4.4.0",

View File

@@ -147,3 +147,19 @@ test('tarballs (is-array-1.0.1.tgz)', function (t) {
}, t.end)
})
test('shrinkwrap compatibility', function (t) {
prepare()
fs.writeFileSync('package.json',
JSON.stringify({ dependencies: { rimraf: '*' } }),
'utf-8')
install({ input: ['rimraf@2.5.1'], flags: { quiet: true } })
.then(function () {
var npm = JSON.stringify(require.resolve('npm/bin/npm-cli.js'))
require('child_process').execSync('node ' + npm + ' shrinkwrap')
var wrap = JSON.parse(fs.readFileSync('npm-shrinkwrap.json', 'utf-8'))
t.ok(wrap.dependencies.rimraf.version === '2.5.1',
'npm shrinkwrap is successful')
t.end()
}, t.end)
})