mirror of
https://github.com/nodejs/node.git
synced 2025-05-15 22:04:26 +00:00

Contains the following npm releases: - v3.9.0: https://github.com/npm/npm/releases/tag/v3.9.0 - v3.9.1: https://github.com/npm/npm/releases/tag/v3.9.1 - v3.9.2: https://github.com/npm/npm/releases/tag/v3.9.2 - v3.9.3: https://github.com/npm/npm/releases/tag/v3.9.3 PR-URL: https://github.com/nodejs/node/pull/7030 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
70 lines
1.5 KiB
JavaScript
70 lines
1.5 KiB
JavaScript
'use strict'
|
|
var path = require('path')
|
|
var test = require('tap').test
|
|
var rpt = require('../rpt.js')
|
|
var Tacks = require('tacks')
|
|
var File = Tacks.File
|
|
var Symlink = Tacks.Symlink
|
|
var Dir = Tacks.Dir
|
|
|
|
var workdir = path.join(__dirname, path.basename(__filename, '.js'))
|
|
var fixture = new Tacks(Dir({
|
|
bar: Dir({
|
|
'package.json': File({
|
|
name: 'bar',
|
|
version: '1.0.0'
|
|
})
|
|
}),
|
|
'linked-node-modules': Dir({
|
|
bar: Symlink('../bar'),
|
|
foo: Dir({
|
|
'package.json': File({
|
|
name: 'foo',
|
|
version: '1.0.0'
|
|
})
|
|
})
|
|
}),
|
|
example: Dir({
|
|
node_modules: Symlink('../linked-node-modules/'),
|
|
'package.json': File({
|
|
name: 'example',
|
|
version: '1.0.0',
|
|
})
|
|
})
|
|
}))
|
|
|
|
function setup () {
|
|
cleanup()
|
|
fixture.create(workdir)
|
|
}
|
|
|
|
function cleanup () {
|
|
fixture.remove(workdir)
|
|
}
|
|
|
|
test('setup', function (t) {
|
|
setup()
|
|
t.done()
|
|
})
|
|
test('symlinked-node-modules', function (t) {
|
|
rpt(path.join(workdir, 'example'), function (err, tree) {
|
|
t.ifError(err)
|
|
t.is(tree.children.length, 2)
|
|
var childrenShouldBe = {
|
|
'foo': {isLink: false},
|
|
'bar': {isLink: true}
|
|
}
|
|
tree.children.forEach(function (child) {
|
|
var name = child.package.name
|
|
t.is(child.isLink, childrenShouldBe[name].isLink,
|
|
'is' + (childrenShouldBe[name].isLink ? '' : 'Not') + 'Link ' +
|
|
path.relative(workdir, child.path) + " + " +
|
|
path.relative(workdir, child.realpath))
|
|
})
|
|
t.done()
|
|
})
|
|
})
|
|
test('cleanup', function (t) {
|
|
cleanup()
|
|
t.done()
|
|
}) |