aboutsummaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/test/tap/bundled-no-add-to-move.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/npm/test/tap/bundled-no-add-to-move.js')
-rw-r--r--deps/node/deps/npm/test/tap/bundled-no-add-to-move.js50
1 files changed, 50 insertions, 0 deletions
diff --git a/deps/node/deps/npm/test/tap/bundled-no-add-to-move.js b/deps/node/deps/npm/test/tap/bundled-no-add-to-move.js
new file mode 100644
index 00000000..f9146c0e
--- /dev/null
+++ b/deps/node/deps/npm/test/tap/bundled-no-add-to-move.js
@@ -0,0 +1,50 @@
+'use strict'
+var test = require('tap').test
+var Node = require('../../lib/install/node.js').create
+var npm = require('../../lib/npm.js')
+
+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) {
+ npm.load({}, (err) => {
+ if (err) throw err
+ var diffTrees = require('../../lib/install/diff-trees.js')._diffTrees
+ var sortActions = require('../../lib/install/diff-trees.js').sortActions
+ 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()
+ })
+})