summaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/test/tap/search.all-package-search.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/npm/test/tap/search.all-package-search.js')
-rw-r--r--deps/node/deps/npm/test/tap/search.all-package-search.js212
1 files changed, 0 insertions, 212 deletions
diff --git a/deps/node/deps/npm/test/tap/search.all-package-search.js b/deps/node/deps/npm/test/tap/search.all-package-search.js
deleted file mode 100644
index 51c1ffcf..00000000
--- a/deps/node/deps/npm/test/tap/search.all-package-search.js
+++ /dev/null
@@ -1,212 +0,0 @@
-'use strict'
-
-const cacheFile = require('npm-cache-filename')
-const mkdirp = require('mkdirp')
-const mr = require('npm-registry-mock')
-const osenv = require('osenv')
-const path = require('path')
-const qs = require('querystring')
-const rimraf = require('rimraf')
-const Tacks = require('tacks')
-const test = require('tap').test
-
-const {File} = Tacks
-
-const common = require('../common-tap.js')
-
-const PKG_DIR = path.resolve(__dirname, 'search')
-const CACHE_DIR = path.resolve(PKG_DIR, 'cache')
-const cacheBase = cacheFile(CACHE_DIR)(common.registry + '/-/all')
-const cachePath = path.join(cacheBase, '.cache.json')
-
-let server
-
-test('setup', function (t) {
- mr({port: common.port, throwOnUnmatched: true}, function (err, s) {
- t.ifError(err, 'registry mocked successfully')
- server = s
- t.pass('all set up')
- t.done()
- })
-})
-
-const searches = [
- {
- term: 'cool',
- description: 'non-regex search',
- location: 103
- },
- {
- term: '/cool/',
- description: 'regex search',
- location: 103
- },
- {
- term: 'cool',
- description: 'searches name field',
- location: 103
- },
- {
- term: 'ool',
- description: 'excludes matches for --searchexclude',
- location: 205,
- inject: {
- other: { name: 'other', description: 'this is a simple tool' }
- },
- extraOpts: ['--searchexclude', 'cool']
- },
- {
- term: 'neat lib',
- description: 'searches description field',
- location: 141,
- inject: {
- cool: {
- name: 'cool', version: '5.0.0', description: 'this is a neat lib'
- }
- }
- },
- {
- term: 'foo',
- description: 'skips description field with --no-description',
- location: 80,
- inject: {
- cool: {
- name: 'cool', version: '5.0.0', description: 'foo bar!'
- }
- },
- extraOpts: ['--no-description']
- },
- {
- term: 'zkat',
- description: 'searches maintainers by name',
- location: 155,
- inject: {
- cool: {
- name: 'cool',
- version: '5.0.0',
- maintainers: [{
- name: 'zkat'
- }]
- }
- }
- },
- {
- term: '=zkat',
- description: 'searches maintainers unambiguously by =name',
- location: 154,
- inject: {
- bar: { name: 'bar', description: 'zkat thing', version: '1.0.0' },
- cool: {
- name: 'cool',
- version: '5.0.0',
- maintainers: [{
- name: 'zkat'
- }]
- }
- }
- },
- {
- term: 'github.com',
- description: 'searches projects by url',
- location: 205,
- inject: {
- bar: {
- name: 'bar',
- url: 'gitlab.com/bar',
- // For historical reasons, `url` is only present if `versions` is there
- versions: ['1.0.0'],
- version: '1.0.0'
- },
- cool: {
- name: 'cool',
- version: '5.0.0',
- versions: ['1.0.0'],
- url: 'github.com/cool/cool'
- }
- }
- },
- {
- term: 'monad',
- description: 'searches projects by keywords',
- location: 197,
- inject: {
- cool: {
- name: 'cool',
- version: '5.0.0',
- keywords: ['monads']
- }
- }
- }
-]
-
-// These test classic hand-matched searches
-searches.forEach(function (search) {
- test(search.description, function (t) {
- setup()
- const query = qs.stringify({
- text: search.term,
- size: 20,
- quality: 0.65,
- popularity: 0.98,
- maintenance: 0.5
- })
- server.get(`/-/v1/search?${query}`).once().reply(404, {})
- const now = Date.now()
- const cacheContents = {
- '_updated': now,
- bar: { name: 'bar', version: '1.0.0' },
- cool: { name: 'cool', version: '5.0.0' },
- foo: { name: 'foo', version: '2.0.0' },
- other: { name: 'other', version: '1.0.0' }
- }
- for (let k in search.inject) {
- cacheContents[k] = search.inject[k]
- }
- const fixture = new Tacks(File(cacheContents))
- fixture.create(cachePath)
- common.npm([
- 'search', search.term,
- '--registry', common.registry,
- '--cache', CACHE_DIR,
- '--loglevel', 'error',
- '--color', 'always'
- ].concat(search.extraOpts || []),
- {},
- function (err, code, stdout, stderr) {
- t.equal(stderr, '', 'no error output')
- t.notEqual(stdout, '', 'got output')
- t.equal(code, 0, 'search finished successfully')
- t.ifErr(err, 'search finished successfully')
- // \033 == \u001B
- const markStart = '\u001B\\[[0-9][0-9]m'
- const markEnd = '\u001B\\[0m'
-
- const re = new RegExp(markStart + '.*?' + markEnd)
-
- const cnt = stdout.search(re)
- t.equal(
- cnt,
- search.location,
- search.description + ' search for ' + search.term
- )
- t.end()
- })
- })
-})
-
-test('cleanup', function (t) {
- cleanup()
- server.close()
- t.end()
-})
-
-function setup () {
- cleanup()
- mkdirp.sync(cacheBase)
-}
-
-function cleanup () {
- server.done()
- process.chdir(osenv.tmpdir())
- rimraf.sync(PKG_DIR)
-}