1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
var tap = require('tap')
var init = require('../')
var path = require('path')
var rimraf = require('rimraf')
var mkdirp = require('mkdirp')
var fs = require('fs')
var EXPECT = {
name: 'test-deps',
version: '1.0.0',
description: '',
author: '',
scripts: { test: 'mocha' },
main: 'index.js',
keywords: [],
license: 'ISC',
dependencies: {
'tap': '*'
},
devDependencies: {
'mocha': '^1.0.0'
}
}
var origwd = process.cwd()
var testdir = path.resolve(__dirname, 'test-deps')
mkdirp.sync(testdir)
process.chdir(testdir)
fs.writeFileSync(path.resolve(testdir, 'package.json'), JSON.stringify({
dependencies: {
'tap': '*'
}
}))
var fakedeps = ['mocha', 'tap', 'async', 'foobar']
fakedeps.forEach(function(dep) {
var depdir = path.resolve(testdir, 'node_modules', dep)
mkdirp.sync(depdir)
fs.writeFileSync(path.resolve(depdir, 'package.json'), JSON.stringify({
name: dep,
version: '1.0.0'
}))
})
tap.test('read in dependencies and dev deps', function (t) {
init(testdir, testdir, {yes: 'yes', 'save-prefix': '^'}, function (er, data) {
if (er) throw er
t.same(data, EXPECT, 'used the correct dependency information')
t.end()
})
})
tap.test('teardown', function (t) {
process.chdir(origwd)
rimraf(testdir, t.end.bind(t))
})
|