diff options
Diffstat (limited to 'deps/npm/node_modules/find-npm-prefix/test')
-rw-r--r-- | deps/npm/node_modules/find-npm-prefix/test/find-prefix.js | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/deps/npm/node_modules/find-npm-prefix/test/find-prefix.js b/deps/npm/node_modules/find-npm-prefix/test/find-prefix.js deleted file mode 100644 index de2ab41cb9..0000000000 --- a/deps/npm/node_modules/find-npm-prefix/test/find-prefix.js +++ /dev/null @@ -1,79 +0,0 @@ -'use strict' -const Bluebird = require('bluebird') -const test = require('tap').test -const requireInject = require('require-inject') -const findPrefix = requireInject('../find-prefix.js', { - fs: { - readdir: mockReaddir - } -}) - -test('find-prefix', t => { - const tests = { - '/Users/example/code/test1/node_modules': '/Users/example/code/test1', - '/Users/example/code/test1/node_modules/node_modules': '/Users/example/code/test1', - '/Users/example/code/test1/sub1': '/Users/example/code/test1', - '/Users/example/code/test1/sub1/sub1a': '/Users/example/code/test1', - '/Users/example/code/test2': '/Users/example/code/test2', - '/Users/example/code/test2/sub2': '/Users/example/code/test2', - '/Users/example/code': '/Users/example/code', - '/Users/example': '/Users/example', - '/does/not/exist': '/does/not/exist' - } - t.plan(Object.keys(tests).length) - return Bluebird.map(Object.keys(tests), dir => { - return findPrefix(dir).then(pre => { - t.is(pre, tests[dir], dir) - }) - }) -}) - -test('fail-prefix', t => { - return findPrefix('/Users/example/eperm').then(pre => { - t.fail('no eperm') - }).catch(err => { - t.is(err.code, 'EPERM', 'got perm error') - }) -}) - -const fixture = { - 'Users': { - 'example': { - 'code': { - 'test1': { - 'node_modules': { - 'node_modules': {} - }, - 'sub1': { - 'sub1a': {} - } - }, - 'test2': { - 'package.json': {}, - 'sub2': {} - } - } - } - } -} - -function mockReaddir (dir, cb) { - if (/eperm/.test(dir)) { - const err = new Error('Can not read: ' + dir) - err.code = 'EPERM' - return cb(err) - } - const parts = dir.split(/\//).slice(1) - let cwd = fixture - let part - while ((part = parts.shift())) { - if (part in cwd) { - cwd = cwd[part] - } else { - const err = new Error('Does not exist: ' + dir + ' * ' + part) - err.code = 'ENOENT' - return cb(err) - } - } - return cb(null, Object.keys(cwd)) -} |