node/deps/npm/test/tap/config-save.js
Myles Borins ace4fe566f
deps: update npm to 5.5.1
Closes: https://github.com/nodejs/node/pull/16280

PR-URL: https://github.com/nodejs/node/pull/16509
Fixes: https://github.com/nodejs/node/issues/14161
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2017-10-29 21:32:15 -04:00

86 lines
2.1 KiB
JavaScript

var fs = require('fs')
var ini = require('ini')
var test = require('tap').test
var npmconf = require('../../lib/config/core.js')
var common = require('./00-config-setup.js')
var expectConf = [
'globalconfig = ' + common.globalconfig,
'email = i@izs.me',
'env-thing = asdf',
'init.author.name = Isaac Z. Schlueter',
'init.author.email = i@izs.me',
'init.author.url = http://blog.izs.me/',
'init.version = 1.2.3',
'npm:publishtest = true',
'_npmjs.org:couch = https://admin:password@localhost:5984/registry',
'npm-www:nocache = 1',
'sign-git-tag = false',
'message = v%s',
'strict-ssl = false',
'_auth = dXNlcm5hbWU6cGFzc3dvcmQ=',
'',
'[_token]',
'AuthSession = yabba-dabba-doodle',
'version = 1',
'expires = 1345001053415',
'path = /',
'httponly = true',
''
].join('\n')
var expectFile = [
'globalconfig = ' + common.globalconfig,
'email = i@izs.me',
'env-thing = asdf',
'init.author.name = Isaac Z. Schlueter',
'init.author.email = i@izs.me',
'init.author.url = http://blog.izs.me/',
'init.version = 1.2.3',
'npm:publishtest = true',
'_npmjs.org:couch = https://admin:password@localhost:5984/registry',
'npm-www:nocache = 1',
'sign-git-tag = false',
'message = v%s',
'strict-ssl = false',
'_auth = dXNlcm5hbWU6cGFzc3dvcmQ=',
'',
'[_token]',
'AuthSession = yabba-dabba-doodle',
'version = 1',
'expires = 1345001053415',
'path = /',
'httponly = true',
''
].join('\n')
test('saving configs', function (t) {
npmconf.load(function (er, conf) {
if (er) throw er
conf.set('sign-git-tag', false, 'user')
conf.del('nodedir')
conf.del('tmp')
var foundConf = ini.stringify(conf.sources.user.data)
t.same(ini.parse(foundConf), ini.parse(expectConf))
fs.unlinkSync(common.userconfig)
conf.save('user', function (er) {
if (er) throw er
var uc = fs.readFileSync(conf.get('userconfig'), 'utf8')
t.same(ini.parse(uc), ini.parse(expectFile))
t.end()
})
})
})
test('setting prefix', function (t) {
npmconf.load(function (er, conf) {
if (er) throw er
conf.prefix = 'newvalue'
t.same(conf.prefix, 'newvalue')
t.end()
})
})