diff options
Diffstat (limited to 'deps/npm/test/tap/bundled-no-add-to-move.js')
-rw-r--r-- | deps/npm/test/tap/bundled-no-add-to-move.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/deps/npm/test/tap/bundled-no-add-to-move.js b/deps/npm/test/tap/bundled-no-add-to-move.js new file mode 100644 index 0000000000..526af0e431 --- /dev/null +++ b/deps/npm/test/tap/bundled-no-add-to-move.js @@ -0,0 +1,46 @@ +'use strict' +var test = require('tap').test +var Node = require('../../lib/install/node.js').create +var diffTrees = require('../../lib/install/diff-trees.js')._diffTrees +var sortActions = require('../../lib/install/diff-trees.js').sortActions + +var oldTree = Node({ + path: '/', + location: '/', + children: [ + Node({ + package: {name: 'one', version: '1.0.0'}, + path: '/node_modules/one', + location: '/one' + }) + ] +}) +oldTree.children[0].requiredBy.push(oldTree) + +var newTree = Node({ + path: '/', + location: '/', + children: [ + Node({ + package: {name: 'abc', version: '1.0.0'}, + path: '/node_modules/abc', + location: '/abc', + children: [ + Node({ + package: {name: 'one', version: '1.0.0'}, + fromBundle: true, + path: '/node_modules/abc/node_modules/one', + location: '/abc/one' + }) + ] + }) + ] +}) +newTree.children[0].requiredBy.push(newTree) +newTree.children[0].children[0].requiredBy.push(newTree.children[0]) + +test('test', function (t) { + var differences = sortActions(diffTrees(oldTree, newTree)).map(function (diff) { return diff[0] + diff[1].location }) + t.isDeeply(differences, ['add/abc/one', 'remove/one', 'add/abc'], 'bundled add/remove stays add/remove') + t.end() +}) |