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.
60 lines
1.3 KiB
60 lines
1.3 KiB
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))
|
|
})
|
|
|