Welcome to mirror list, hosted at ThFree Co, Russian Federation.

test.js « lib « test - github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9a44e4760a2a51fc2645115950005539d84de575 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const t = require('tap')
const requireInject = require('require-inject')
let RUN_ARGS = null
const npmock = {
  commands: {
    run: (args, cb) => {
      RUN_ARGS = args
      cb()
    },
  },
}
const test = requireInject('../../lib/test.js', {
  '../../lib/npm.js': npmock,
})

t.test('run a test', t => {
  test([], (er) => {
    t.strictSame(RUN_ARGS, ['test'], 'added "test" to the args')
  })
  test(['hello', 'world'], (er) => {
    t.strictSame(RUN_ARGS, ['test', 'hello', 'world'], 'added positional args')
  })

  const lcErr = Object.assign(new Error('should not see this'), {
    code: 'ELIFECYCLE',
  })
  const otherErr = new Error('should see this')

  npmock.commands.run = (args, cb) => cb(lcErr)
  test([], (er) => {
    t.equal(er, 'Test failed.  See above for more details.')
  })

  npmock.commands.run = (args, cb) => cb(otherErr)
  test([], (er) => {
    t.match(er, { message: 'should see this' })
  })

  t.end()
})