summaryrefslogtreecommitdiff
path: root/deps/npm/test/tap/progress-config.js
blob: 1f1e1a0c225ed54a4ac57ee5a462307bf9805f18 (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
'use strict'
var test = require('tap').test
var log = require('npmlog')
var fs = require('graceful-fs')
const common = require('../common-tap.js')
var configName = common.pkg + '-npmrc'

// We use requireInject to get a fresh copy of
// the npm singleton each time we require it.
// If we didn't, we'd have shared state between
// these various tests.
var requireInject = require('require-inject')

// Make sure existing environment vars don't muck up the test
process.env = {}
// Pretend that stderr is a tty regardless, so we can get consistent
// results.
process.stderr.isTTY = true

test('setup', function (t) {
  fs.writeFileSync(configName, '')
  t.done()
})

function getFreshNpm () {
  return requireInject.withEmptyCache('../../lib/npm.js', {npmlog: log})
}

test('disabled', function (t) {
  t.plan(1)
  var npm = getFreshNpm()
  npm.load({userconfig: configName, progress: false}, function () {
    t.is(log.progressEnabled, false, 'should be disabled')
  })
})

test('enabled', function (t) {
  t.plan(1)
  var npm = getFreshNpm()
  npm.load({userconfig: configName, progress: true}, function () {
    t.is(log.progressEnabled, true, 'should be enabled')
  })
})

test('default', function (t) {
  t.plan(1)
  var npm = getFreshNpm()
  npm.load({userconfig: configName}, function () {
    t.is(log.progressEnabled, true, 'should be enabled')
  })
})

test('default-travis', function (t) {
  t.plan(1)
  process.env.TRAVIS = 'true'
  var npm = getFreshNpm()
  npm.load({userconfig: configName}, function () {
    t.is(log.progressEnabled, false, 'should be disabled')
    delete process.env.TRAVIS
  })
})

test('default-ci', function (t) {
  t.plan(1)
  process.env.CI = 'true'
  var npm = getFreshNpm()
  npm.load({userconfig: configName}, function () {
    t.is(log.progressEnabled, false, 'should be disabled')
    delete process.env.CI
  })
})

test('unicode-true', function (t) {
  var npm = getFreshNpm()
  npm.load({userconfig: configName, unicode: true}, function () {
    t.is(log.gauge._theme.hasUnicode, true, 'unicode will be selected')
    t.done()
  })
})

test('unicode-false', function (t) {
  var npm = getFreshNpm()
  npm.load({userconfig: configName, unicode: false}, function () {
    t.is(log.gauge._theme.hasUnicode, false, 'unicode will NOT be selected')
    t.done()
  })
})

test('cleanup', function (t) {
  fs.unlinkSync(configName)
  t.done()
})