summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/init-package-json/test/dependencies.js
blob: a53f46a64111ae08ecdf512bcc1dd79c8b49c647 (plain)
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))
})